我目前只是将应用程序添加到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