Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “写作”;代码“;金贾2号扩建工程_Python_Templates_Jinja2 - Fatal编程技术网

Python “写作”;代码“;金贾2号扩建工程

Python “写作”;代码“;金贾2号扩建工程,python,templates,jinja2,Python,Templates,Jinja2,我正在尝试为Jinja2编写一个扩展,这样我就可以在我的模板中运行任意python代码(我有一个沙箱可以安全地运行此代码)。我知道我可以使用类似Mako的东西来嵌入python代码,但我更喜欢使用Jinja2,因为我喜欢它的语法 我打算在模板中执行的操作示例: {{ x }} {% code %} x = x + 1 {% endcode %} {{ x }} 如果我以x=1呈现上述模板,我希望输出为 1 2 我根据文档上的示例编写了一个扩展。我可以使用contextfunction装饰

我正在尝试为Jinja2编写一个扩展,这样我就可以在我的模板中运行任意python代码(我有一个沙箱可以安全地运行此代码)。我知道我可以使用类似Mako的东西来嵌入python代码,但我更喜欢使用Jinja2,因为我喜欢它的语法

我打算在模板中执行的操作示例:

{{ x }}

{% code %}
x = x + 1
{% endcode %}

{{ x }}
如果我以x=1呈现上述模板,我希望输出为

1
2
我根据文档上的示例编写了一个扩展。我可以使用contextfunction装饰器访问上下文,但它是不可变的

在我的扩展回调中,我想做一些类似的事情

exec body in context

一些金甲2大师能帮我吗?

不确定这是否是您所需要的,但请尝试实现该方法。