【问题标题】:No ReverseMatch : password reset activation email is not working in django?没有 ReverseMatch:密码重置激活电子邮件在 django 中不起作用?
【发布时间】:2014-05-01 01:13:02
【问题描述】:

我正在尝试查看password reset 是否适用于我的development environmentactivation email 发送到我的console。但是当我将它粘贴到browser 时,我收到以下错误:

Request Method: GET
Request URL:    http://127.0.0.1:8000/accounts/password/reset/confirm/MQ/3q5-7f3106e0a0cfc67d8bee/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:    
Reverse for 'password_reset_complete' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

我关注了this post,但没有帮助。 这是我的 urls.py;

from django.conf.urls import include
from django.conf.urls import patterns
from django.conf.urls import url

from django.contrib.auth import views as auth_views
from django.core.urlresolvers import reverse_lazy

urlpatterns = patterns('',
                           url(r'^login/$',
                               auth_views.login,
                               {'template_name': 'registration/login.html'},
                               name='auth_login'),
                           url(r'^logout/$',
                               auth_views.logout,
                               {'template_name': 'registration/logout.html'},
                               name='auth_logout'),
                           url(r'^password/change/$',
                               auth_views.password_change,
                               {'post_change_redirect': reverse_lazy('auth_password_change_done')},
                               name='auth_password_change'),
                           url(r'^password/change/done/$',
                               auth_views.password_change_done,
                               name='auth_password_change_done'),
                           url(r'^password/reset/$',
                               auth_views.password_reset,
                               {'post_reset_redirect': reverse_lazy('auth_password_reset_done')},
                               name='auth_password_reset'),
                           url(r'^password/reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$',
                               auth_views.password_reset_confirm,
                               name='auth_password_reset_confirm'),
                           url(r'^password/reset/complete/$',
                               auth_views.password_reset_complete,
                               {'post_reset_redirect': reverse_lazy('auth_password_reset_complete')},
                               name='auth_password_reset_complete'),
                           url(r'^password/reset/done/$',
                               auth_views.password_reset_done,
                               name='auth_password_reset_done'),
    )

如何解决这个问题?我正在使用django 1.6 谢谢

【问题讨论】:

    标签: django django-urls django-email


    【解决方案1】:

    您的模板中可能有{% url 'password_reset_complete' %}。改成

    {% url 'auth_password_reset_complete' %}
    

    【讨论】:

    • 我搜索了整个模板,但找不到任何{% url 'password_reset_complete' %}
    • 可能引号不同,或者可能在某些python文件(视图或其他东西)中。您可以尝试从urls.py 中的"auth_ password_reset_complete" 中删除"auth_",但这势必会产生新问题。
    猜你喜欢
    • 2014-05-02
    • 2020-02-10
    • 1970-01-01
    • 2020-02-15
    • 2013-12-17
    • 2014-06-11
    • 1970-01-01
    • 2016-04-18
    • 2013-12-18
    相关资源
    最近更新 更多