Django密码重置表单

时间:2012-07-19 01:35:35

标签: python django passwords reset

我希望用户能够通过我网站上的链接重置密码。我正在尝试使用内置的django密码重置表单,但有一点困难。我的urls.py

中包含以下内容
urlpatterns = patterns('',
    url(r'^admin/password_reset/$', 'django.contrib.auth.views.password_reset', name='admin_password_reset'),
    url(r'^admin/password_reset/done/$', 'django.contrib.auth.views.password_reset_done'),
    url(r'^reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm'),
    url(r'^reset/done/$', 'django.contrib.auth.views.password_reset_complete'),
    url(r'^admin/', include(admin.site.urls)),

我按以下方式访问该链接:

<h3><a href="{% url 'password_reset' %}">Forgot your password?</a></h3>

我也试过把它包括在内:

{% url django.contrib.auth.views.password_reset_confirm uid, token %}
{% url django.contrib.auth.views.password_reset_confirm uidb36=uid, token=token %}

我收到以下错误:

NoReverseMatch at /account/
Reverse for 'password_reset' with arguments '()' and keyword arguments '{}' not found.

我尝试过一堆不同的运气而没有任何运气。我是否需要传入uid /令牌?如果是这样,我该如何定义它们?

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您的网址名为admin_password_reset

<h3><a href="{% url 'admin_password_reset' %}">Forgot your password?</a></h3>

答案 1 :(得分:0)

这听起来与我遇到的问题非常相似。您可以查看我的解决方案:Django {% url %} reverse not working如果您正在使用{%load url from future%}。

祝你好运!