Django 密码重置 - DoesNotExist 异常
我在Django网站的密码重置页面上,输入邮箱地址并点击按钮后,出现了一个DoesNotExist
的错误。
为了实现密码重置功能,需要在主项目的urls.py文件中设置四个网址,具体如下:
(r'^password_reset/$', 'appname.views.cust_password_reset'),
(r'^password_reset/done/', 'appname.views.cust_password_reset_done'),
(r'^reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', 'appname.views.cust_password_reset_confirm'),
(r'^reset/done/$', 'appname.views.cust_password_reset_complete')
以下是与这些网址相关的代码:
def cust_password_reset(request):
return password_reset(request, post_reset_redirect='password_reset/done',template_name='registration/password_reset_done.html')
def cust_password_reset_done(request):
return password_reset_done(request, template_name='registration/password_reset_done.html')
def cust_password_reset_confirm(request, uidb36=None, token=None):
return password_reset_confirm(request, uidb36=uidb36, token=token,
template_name='registration/password_reset_confirm.html',
post_reset_redirect='registration/reset/done/')
def cust_password_reset_complete(request):
return password_reset_complete(request,
template_name='registration/password_reset_complete.html')
邮箱地址的有效性检查是正确的,但在重定向到password_reset/done时似乎没有成功。网址仍然显示为password_reset,但却出现了一个DoesNotExist的错误,提示'没有匹配的站点查询'。
这些网址和模板看起来都正常,当我手动访问password_reset/done时,它能正确显示。
这些模板是原始Django模板的完全复制,只是添加了一个头部和底部。没有使用自定义视图/模板进行密码重置时,也会出现同样的错误。
如果有人能提供一些可能导致这个问题的想法,我将非常感激。
1 个回答
2
这个错误“找不到匹配的站点查询”意思是你在settings.py文件里设置的