【发布时间】:2013-04-04 00:11:09
【问题描述】:
我花了很长时间才弄清楚为什么模板没有被覆盖,结果发现 Django 似乎根本没有使用正确的优先级来覆盖模板。
我要更改的模板是用于更改用户密码的模板,这些模板是为 URL /accounts/password/change 加载的。
我在mysite/myapp/templates/registration 中有我修改过的模板;系统默认模板位于/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/admin/templates/registration。当这两个目录中都存在模板时,Django 使用系统 (/Library) 模板。嗯?
当我删除/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/contrib/admin/templates/registration
中的模板时,会加载正确的模板(即我在mysite/myapp/templates/registration 中的模板)。
如何解决这个问题?也就是说,如何让Django加载我覆盖的模板而不删除/Library中找到的原始模板?
【问题讨论】: