urls.py for my_app:
urlpatterns = [
# 4 inbuilt views for password reset:
# - password_reset sends the mail
# - password_reset_done shows a success message for the above
# - password_reset_confirm checks the link the user clicked and prompts for a new password
# - password_reset_complete shows a success message for the above
url(r'^password-reset/$',
auth_views.password_reset,
{'template_name': 'password_reset/password_reset.html',
'email_template_name': 'password_reset/password_reset_email.html',
'subject_template_name': 'password_reset/password_reset_subject.txt'},
name="password_reset"),
url(r'^password-reset/done/$',
auth_views.password_reset_done,
{'template_name': 'password_reset/password_reset_done.html'},
name="password_reset_done"),
url(r'^password-reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$',
auth_views.password_reset_confirm,
{'template_name': 'password_reset/password_reset_confirm.html'},
name='password_reset_confirm'),
url(r'^password-reset/complete/$',
auth_views.password_reset_complete,
{'template_name': 'password_reset/password_reset_complete.html'},
name="password_reset_complete"),
#url('^password-change/', auth_views.password_change,
# {'post_change_redirect':reverse_lazy('userlogout'), 'template_name':'accountmanagement.html'},
# name="passwordchange"),
]urls.py for project:
urlpatterns = [
url(r'^$', LandingPage.as_view(), name="homepage"),
url(r'^my_app/', include('my_app.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)当我访问localhost:8000/my_app/password-reset/时,我会得到我的landingpage.html模板。开发服务器输出肯定会将单个GET显示为/my_app/password-reset/,并且我检查了项目的所有应用程序的urls.py;password-reset url不在其他地方复制。
我甚至在设置文件中注释掉了应用程序的TEMPLATES目录,试图强制使用TemplateDoesNotExist,但是它什么也不做--密码重置视图似乎忽略了我在url配置文件中传递的template_name参数。
我很困惑。是什么导致的?
发布于 2017-04-26 06:46:48
刚刚意识到有人在做代码库的工作。reset_password.html本来应该是{% extends "landingpage.html" %},但是前端工程师重新构建了landingpage.html,而没有{% block content %}所需的可扩展性,因此它只是显示了登陆页面模板。
https://stackoverflow.com/questions/43619615
复制相似问题