我正在研究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"),
]
答案 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
当您发送密码重置电子邮件时,您将获得一个回溯,它将显示问题所在。