2

我希望用户能够通过我网站上的链接重置他们的密码。我正在尝试使用内置的 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/token 吗?如果是这样,我该如何定义它们?

感谢您的帮助

4

2 回答 2

1

您的网址已命名admin_password_reset

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

于 2012-07-19T06:08:43.790 回答
0

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

祝你好运!

于 2012-07-19T01:39:18.523 回答