扩展模板时 Jinja2 中的错误回溯

Error Traceback in Jinja2 when Extending Template

我在 jinja2 中使用模板继承,因为我的网站中有一个顶部栏,我需要将其包含在所有页面中。问题是,每当任何页面出现错误时,回溯总是指向带有 {% extends %} 标记的行,我无法找到错误的来源。

有没有办法找出是哪一行导致了错误(除了我自己阅读整个代码之外)或者除了 {% extends %} 之外还有其他模板继承方法?

所以在尝试了很多东西之后,我发现最好的方法是使用 iframe 而不是 Jinja extend。这样,我不仅可以找到错误的来源,而且不必将我在帧中使用的 Python 值发送到我要渲染的每个模板。我只将它们发送到创建 iframe 模板的原始 class。

虽然 iframe 更习惯于从不同的网站导入网页,但这可能是个好主意。您还可以使用 jinja 标签 {% include %},然后使用会话来缓存数据,而不是在每个页面中重新加载它们。