我目前只是将应用程序添加到 INSTALLED_APPS 以便能够使用来自该应用程序的模板,但也有 TEMPLATE_DIRS 设置。我什么时候更喜欢 TEMPLATE_DIRS 而不是 INSTALLED_APPS?
最佳答案
您可以使用 TEMPLATE_DIRS 中的模板来覆盖来自应用程序的模板(通过给它们相同的名称)或用于与多个应用程序相关的模板(想到 base.html)。
之所以可行,是因为模板加载器在 TEMPLATE_LOADERS 中设置的顺序(文件系统在 app_directories 之前)。
最好按以下方式组织模板以避免名称冲突:
<project>/
<app1>/templates/<app1>/
foo.html
bar.html
<app2>/templates/<app2>/
foo.html
templates/
<app1>/
foo.html
base.html
xyzzy.html
关于python - Django:TEMPLATE_DIRS 与 INSTALLED_APPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3846128/