我正在尝试使用沙盒Jinja2环境来处理模板自定义。
我尝试过同时使用DictLoader和FunctionLoader,但仍然遇到类似的问题......我现在最关心的是FunctionLoader。
我无法管理include
或import
另一个模板(包含宏)。永远不会为引用的模板调用FuctionLoader指定的“加载”函数。
我试过没有运气:
我确信必须有一种方法来支持这一点 - 有人能指出我正确的方向吗?
答案 0 :(得分:15)
导入语法必须使用带引号的字符串。
为:
{% import utils %}
{% import utils.macros as macros %}
{% from utils.macros import macro_1 , macro_2 %}
好:
{% import "utils" as utils %}
{% import "utils.macros" as macros %}
{% from "utils.macros" import macro_1 , macro_2 %}
引用的字符串会传递到FunctionLoader
或用作DictLoader
的密钥