You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django修改用户密码页面跳转异常问题排查

问题排查与解决

核心问题1:URL未命名导致无法正确反向解析

你的members/urls.py中,修改密码的URL路由没有设置name属性,无法通过Django的URL反向机制生成正确路径:

# 错误写法
path("password/", auth_views.PasswordChangeView.as_view()),

# 修正为(添加name参数)
path("password/", auth_views.PasswordChangeView.as_view(), name="password_change"),

核心问题2:模板表单action路径错误

跳转链接中的8是当前用户的ID,说明你模板里的表单action属性错误地使用了用户ID拼接路径(比如{{ user.id }}/password/),而非Django的反向解析语法。正确写法:

<form method="post" action="{% url 'members:password_change' %}">
    {% csrf_token %}
    <!-- 表单字段 -->
</form>

额外优化:配置密码修改成功后的跳转

PasswordChangeView默认要求指定success_url,否则会触发错误,建议补充配置:

from django.urls import reverse_lazy

path("password/", auth_views.PasswordChangeView.as_view(
    success_url=reverse_lazy("members:panel")  # 跳转到个人资料面板
), name="password_change"),

验证操作

  1. 重启Django开发服务器
  2. 刷新页面后点击修改密码按钮,确认跳转路径为http://127.0.0.1:8000/accounts/password/

内容的提问来源于stack exchange,提问作者Nimo Db

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 08:12:39