无法从父目录扩展base.html

4 投票
2 回答
3682 浏览
提问于 2025-04-16 19:48

我有这样的文件夹结构:

root:
+pages
 -base.html
 ...
 +en
  -index.html
  ...
index.py
...

当我从index.py渲染index.html时,它提示找不到base.html。

这是我在index.html中用来扩展base.html的标签:

{% extends "../base.html" %}

这是index.py中的代码:

path = os.path.join(os.path.dirname(__file__), 'pages/it/index.html')
        self.response.out.write(template.render(path, template_values))

那么,正确的做法是什么呢?我正在使用Google网络应用和Django模板。

2 个回答

0

我在这里回答了一个非常类似的问题:在python app-engine django 1.2中,渲染模板时出现TemplateDoesNotExist错误

那里的技巧可以让你完全掌控存放模板的文件夹结构。

4

在扩展标签中不能这样使用路径。不过你其实不需要这样做——假设你的 TEMPLATE_DIRS 设置是 root/pages,那么你只需要写 extends "base.html" 就可以了。

撰写回答