我有一个urls.py:
from django.contrib.auth.views import (password_reset, password_reset_done,
password_change, password_change_done)
[...]
urlpatterns += i18n_patterns('',
url(r'^accounts/password_reset/$', password_reset,
{'template_name': 'registration/password_reset.html',
"post_reset_redirect": '/accounts/password_reset_done/' },
name='reset-password'),
url(r'^accounts/password_reset_done/$', password_reset_done,
{'template_name': 'registration/password_reset_done.html'},
name="reset-password-done"))
app / templates / registration中的关联模板。
password_reset
会显示我的模板,但password_reset_done
不显示(它会显示具有相同名称的管理模板)。在其中运行pdb
确认传递了正确的模板名称。我发现了模板的名称。
答案 0 :(得分:1)
如何将password_reset_done.html的名称更改为,例如,password_reset_done2.html并相应地更改urls.py?此管理模板与管理模板之间是否仍存在冲突?
此外,它可能与urlpatterns + = i18n_patterns ...代码的位置有关。它是在默认管理员网址之前还是之后发生的:
(r'^admin/', include(<location of default admin urls>)),
..或者看起来像什么。也许他们会覆盖您的自定义网址?
答案 1 :(得分:0)
我终于找到了答案:
app模板加载器将呈现他找到的第一个与名称匹配的模板,此顺序由您在INSTALLED_APPS中的应用顺序决定。
只需在INSTALLED_APPS开头添加包含我的模板的应用名称即可解决问题。