1

我有一个名为 mytemplates 的文件夹,用于站点基本模板

Project ----App1,App2,App3,static

现在在我的静态文件夹中,我有一个名为mytemplates/temp1/index.html

现在在我的 app1

app1/templates/app1/index.html

我想做这个

{% extends "/static/mytemplates/temp1/index.html" %}

但它说找不到模板

4

2 回答 2

3

你不需要写/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.

于 2012-12-09T10:03:28.053 回答
0

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.

于 2012-12-09T10:01:23.980 回答