在Appengine上的jinja2中禁用自动转换

时间:2012-08-16 08:12:36

标签: python google-app-engine jinja2 webapp2

默认情况下,jinja2会自动解决所有问题,我想阻止它。我在BaseHandler类中使用以下代码:

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

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

2 个答案:

答案 0 :(得分:2)

您应该使用get_jinja2设置为使用您的客户参数构建jinja实例的可调用来调用factory

@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}}))

答案 1 :(得分:0)

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

    `{{autoescape false}}` 

了解更多详情请试试 docs