路径已弃用(django.contrib.auth.views.password_reset_confirm)

时间:2016-06-14 15:01:15

标签: python django

我正在研究django项目的密码重置,当我发送电子邮件地址时

path is deprecated (django.contrib.auth.views.password_reset_confirm)

在命令提示符下。

这是我的url.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
from doreenselly import views
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.auth.views import password_reset, password_reset_done, password_reset_confirm, password_reset_complete
from django.views.generic import TemplateView

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', 'selly.views.index', name="index"),
    url(r'^selly/', include('selly.urls')),
    url(r'^delete_item/(?P<item_id>[-\w]+)/$', views.delete_item, name='delete_item'),
    url(r'^admin_delete_item/(?P<item_id>[-\w]+)/$', views.admin_delete_item, name='admin_delete_item'),

    # Password reset urls
    url(r'^reset/form/$', TemplateView.as_view(template_name = 'registration/password_reset_email.html')),
    url(r'^resetpassword/passwordsent/$', password_reset_done, name="password_reset_done"),
    url(r'^reset/password/$', password_reset, name="password_reset"),
    url(r'^reset/(?P<uidb64>[0-9A-Za-z]+)-(?P<token>.+)/$', password_reset_confirm, name="password_reset_confirm"),
    url(r'^reset/done/$', password_reset_complete, name="password_reset_complete"),
]

1 个答案:

答案 0 :(得分:1)

您的网址看起来不错,所以我猜您的模板中存在问题。

寻找

{% url 'django.contrib.auth.views.password_reset_confirm' uidb64=uid token=token %}

在您的registration/password_reset_email.html模板中,并将其替换为

{% url 'password_reset_confirm' uidb64=uid token=token %}

如果这不能解决问题,那么您需要找出警告的来源。您可以使用-W标记运行开发服务器到turn warnings into exceptions

python -W error manage.py runserver

当您发送密码重置电子邮件时,您将获得一个回溯,它将显示问题所在。