我有一个名为 mytemplates 的文件夹,用于站点基本模板
Project ----App1,App2,App3,static
现在在我的静态文件夹中,我有一个名为mytemplates/temp1/index.html
现在在我的 app1
app1/templates/app1/index.html
我想做这个
{% extends "/static/mytemplates/temp1/index.html" %}
但它说找不到模板
你不需要写/static
。
您必须在其中/static
定义您的文件夹,settings.TEMPLATE_DIRS
否则 django 的模板加载器将永远不会在那里搜索。您必须写出完整路径,而不是相对路径。
默认情况下,模板加载器在模板文件夹内搜索,因此它们不依赖于它们所在的模板文件夹。意思是,写入{% extends "mytemplates/temp1/index.html" %}
将导致 django 列出所有模板目录,附加mytemplates/temp1/index.html
到每个模板的绝对路径,并确定连接路径是否存在。如果没有,它会继续尝试您的其他模板目录。如果在尝试所有目录后没有找到匹配项,django 会引发异常。
假设{% extends "mytemplates/temp1/index.html" %}
您的static
文件夹在您的settings.TEMPLATES_DIR
元组中并且"mytemplates/temp1/index.html"
存在于static
.
You don't put a full pathname to the file in, look here for the exact syntax. If's the same name that you would call your template from your view.