我正在尝试使用Django内置的password_reset视图,到目前为止我遵循了一个小教程,但在我的情况下,正如我发现的那样,还有很多其他人,它不起作用,每次我访问特定的URL,它返回:“找不到'reset_password'的反向。'reset_password'不是有效的视图函数或模式名称。”我寻找各种解决方案,但唯一真正有效的方法是将带有password_reset和password_reset_confirm的URL移动到主urls.py,而不是我子目录中的urls。尽管如此,如果我访问网址“raw”,也就是只输入它而不是通过链接和所有页面呈现页面,它确实有效,但如果我尝试通过一些实际链接访问它,它会返回我得到的同样的错误从一开始。
在我的main / urls.py中:
url(r'^reset_password/$', password_reset, name='password_reset'),
url(r'^reset_password/done/$', password_reset_done, name='password_reset_done'),
^这个没有任何作用,只是返回那个错误。我检查了可能的拼写错误或错误的声明,但没关系。
就像我说的,如果我把这两个网址放在urls.py而不是main / urls.py中,它确实有效。但后来我试图在模板中实现一个链接,如:{% url 'reset_password' %}
。但它会返回该错误。
答案 0 :(得分:1)
此处您的网址名称为password_reset
和password_reset_done
。
所以你会在模板中这样称呼它们 -
{% url 'password_reset' %}
{% url 'password_reset_done' %}
请注意,您在urls.py中定义的名称与您在模板中使用的名称不同。正因为如此,reverse
无法找到正确的网址。