Django如何处理模板名称冲突?
…当多个应用程序在适当的层次结构之外定义类似命名的模板时。谢谢。不太清楚你的意思。指定模板时,应正确命名并精确指定。如果你指的是管理员从模板列表中选择“最佳”模板,那么它使用一个简单的算法来找到最佳匹配。它只需将模板列表传递给loader即可完成此操作。选择_template,然后使用第一个有效的模板 模板加载器将按照您在Django如何处理模板名称冲突?,django,django-templates,Django,Django Templates,…当多个应用程序在适当的层次结构之外定义类似命名的模板时。谢谢。不太清楚你的意思。指定模板时,应正确命名并精确指定。如果你指的是管理员从模板列表中选择“最佳”模板,那么它使用一个简单的算法来找到最佳匹配。它只需将模板列表传递给loader即可完成此操作。选择_template,然后使用第一个有效的模板 模板加载器将按照您在设置中定义的顺序应用。模板加载器 例如,如果在文件系统加载程序之后运行应用程序目录加载程序,并且模板位于文件系统加载程序中,则永远不会使用应用程序目录加载程序 如果您具体谈论的
设置中定义的顺序应用。模板加载器
例如,如果在文件系统
加载程序之后运行应用程序目录
加载程序,并且模板位于文件系统
加载程序中,则永远不会使用应用程序目录
加载程序
如果您具体谈论的是app\u目录
loader,它会按照INSTALLED\u APPS
中定义的顺序搜索您的应用程序模板文件夹
如果有冲突的模板名称不是故意的(不是某种覆盖层次结构),那么最好在每个模板文件夹前面加上应用程序名称
# this is standard
myapp/templates/myapp/index.html
myapp2/templates/myapp2/index.html
我只是好奇模板是否加载一次并在启动时缓存,如果Django发现几个共享名称的模板,这将影响其行为。