我花了很长时间才弄清楚为什么模板没有被覆盖,只是发现似乎 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
正确的模板(即我的 in )。mysite/myapp/templates/registration
如何解决这个问题?也就是说,如何让 Django 加载我覆盖的模板而不删除/Library
?