0

默认情况下,jinja2 自动转义所有内容,我想阻止它。我在 BaseHandler 类中使用以下代码:

@webapp2.cached_property
def jinja2(self):
    # Returns a Jinja2 renderer cached in the app registry.
    return jinja2.get_jinja2(app=self.app)

根据文档,get_jinja2() 有一个可调用的“工厂”参数,默认为 Jinja2()。我想我需要将其更改为 Jinja2(config={'autoescape':False}),但是如何为工厂指定参数?

4

2 回答 2

2

您应该get_jinja2使用factoryset 调用一个可调用的对象,使用您的客户参数构造 jinja 实例:

@webapp2.cached_property
def jinja2(self):
    # Returns a Jinja2 renderer cached in the app registry, with no autoescaping.
    return jinja2.get_jinja2(lambda app: jinja2.Jinja2(app=app,config={'environment_args':{'autoescape':False}}))
于 2012-08-16T11:04:58.643 回答
0

可能你不需要转义整个模板,在这种情况下你可以试试标签:

    `{{autoescape false}}` 

有关更多详细信息,请尝试 文档

于 2012-08-16T11:09:06.580 回答