【发布时间】:2018-09-15 08:21:42
【问题描述】:
我正在编写一个程序,该程序应在通过 jinja2 生成的 html 文件中包含相当长的文本块。由于宏结构复杂,我想将这些文本构造为 jinja2 变量,如下所示:
<!DOCTYPE HTML>
{% set standard_text = "This is the standard text." %}
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
{{standard_text}}
</body>
</html>
这很好用,但由于这些文本可能相当长,我想将它们放在单独的文件中。所以我创建了一个名为 text.html 的文件:
{% set standard_text = "This is the standard text." %}
并将其放入名为 templates/standard_texts 的库中。现在我想将它导入到 html 文件中,我尝试了以下方法:
<!DOCTYPE HTML>
{% include 'templates/standard_texts/text.html' %}
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
{{standard_text}}
</body>
</html>
但是,当我运行它时,我得到了这个错误:
jinja2.exceptions.UndefinedError: 'standard_text' is undefined
我也试过其他方法,比如
{% from 'templates/standard_texts/text.html import standard_text %}
或
{% extends'templates/standard_texts/text.html' %}
但这也不起作用。我已经阅读了 Jinja2 的“模板设计器文档”(http://jinja.pocoo.org/docs/2.10/templates/#),但我也找不到任何东西。
这是怎么做到的?
【问题讨论】:
标签: jinja2