2012-07-19 80 views
2

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

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 /令牌吗?如果是这样,我该如何定义它们?

感谢您的帮助

回答

1

您的网址被命名为admin_password_reset

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

+0

这样做!尽管我确实需要围绕url名称引用引号。谢谢! – mythander889 2012-07-19 13:46:04

0

这听起来非常类似于我遇到的问题。你可能会检查我的解决方案:Django {% url %} reverse not working如果你使用{%load url from future%}。

祝你好运!

+0

谢谢 - 给予一些我的想法。我更新了错误消息和代码以匹配 – mythander889 2012-07-19 01:48:41