Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django如何处理模板名称冲突?_Django_Django Templates - Fatal编程技术网

Django如何处理模板名称冲突?

Django如何处理模板名称冲突?,django,django-templates,Django,Django Templates,…当多个应用程序在适当的层次结构之外定义类似命名的模板时。谢谢。不太清楚你的意思。指定模板时,应正确命名并精确指定。如果你指的是管理员从模板列表中选择“最佳”模板,那么它使用一个简单的算法来找到最佳匹配。它只需将模板列表传递给loader即可完成此操作。选择_template,然后使用第一个有效的模板 模板加载器将按照您在设置中定义的顺序应用。模板加载器 例如,如果在文件系统加载程序之后运行应用程序目录加载程序,并且模板位于文件系统加载程序中,则永远不会使用应用程序目录加载程序 如果您具体谈论的

…当多个应用程序在适当的层次结构之外定义类似命名的模板时。谢谢。

不太清楚你的意思。指定模板时,应正确命名并精确指定。如果你指的是管理员从模板列表中选择“最佳”模板,那么它使用一个简单的算法来找到最佳匹配。它只需将模板列表传递给loader即可完成此操作。选择_template,然后使用第一个有效的模板

模板加载器将按照您在
设置中定义的顺序应用。模板加载器

例如,如果在
文件系统
加载程序之后运行
应用程序目录
加载程序,并且模板位于
文件系统
加载程序中,则永远不会使用
应用程序目录
加载程序

如果您具体谈论的是
app\u目录
loader,它会按照
INSTALLED\u APPS
中定义的顺序搜索您的应用程序模板文件夹

如果有冲突的模板名称不是故意的(不是某种覆盖层次结构),那么最好在每个模板文件夹前面加上应用程序名称

# this is standard
myapp/templates/myapp/index.html 
myapp2/templates/myapp2/index.html

我只是好奇模板是否加载一次并在启动时缓存,如果Django发现几个共享名称的模板,这将影响其行为。