2012-07-19 84 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