【问题标题】:Django password_change doesn't workDjango 密码更改不起作用
【发布时间】:2017-06-14 01:27:11
【问题描述】:

我在 django 中实现 password_change 时遇到问题。

这是我的代码:

url('^password-change/$',password_change,{'post_change_redirect': 
'users:password_change_done'},name='password_change'),

url('^password- change/done/',password_change_done,name='users_password_change_done'),

html代码是:

<h1>Change Password</h1>

<form action="." method="post">
    {% csrf_token %}
    {{form.as_p}}

<input type="submit" value="Change password">
</form>

我得到的错误是:

NoReverseMatch 在 /users/password-change/

未找到带有参数“()”和关键字参数“{}”的“password_change_done”的反向操作。尝试了 0 个模式:[]

我查看了其他处理类似问题的帖子,但我无法根据这些答案修复我的代码。

【问题讨论】:

  • 您是否注意到:“url('^password-change/done/'.....”中有一个额外的空格。如果这不是您的问题,我猜您认为.py 你正在尝试反转“password_change_done”,但 url 的名称是“users_password_change_done”。让我知道这是否适合你。
  • 是的!这就是问题所在!谢谢

标签: django


【解决方案1】:

在 urls.py 中试试这个

url('^password-change/$', password_change, {'post_change_redirect': 
'users:users_password_change_done'}, name='password_change'),

url('^password-change/done/$', password_change_done, name='users_password_change_done'),

【讨论】:

  • 对不起,我不能投票,因为我没有足够的声誉!谢谢你的工作!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-12
  • 2015-08-06
  • 2016-12-11
  • 1970-01-01
  • 1970-01-01
  • 2013-11-08
  • 2018-02-14
相关资源
最近更新 更多