Django密码重置表单

我希望用户能够通过我网站上的链接重置密码 . 我正在尝试使用内置的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)

2 years ago

您的网址名为 admin_password_reset

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

2 years ago

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

祝好运!