gpt4 book ai didi

python - jinja2 自动转义扩展不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 18:12:03 25 4
gpt4 key购买 nike

我遇到了 Jinja2 自动转义的问题,这让我抓狂。根据文档,我执行以下操作

import jinja2
env=jinja2.Environment(autoescape=True,extensions=['jinja2.ext.autoescape'])
tpl = jinja_env.template_class('{% autoescape false %}...{% endautoescape %}')

但是,python 抛出以下异常:

File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 906, in __new__
return env.from_string(source, template_class=cls)
File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 841, in from_string
return cls.from_code(self, self.compile(source), globals, None)
File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 554, in compile
self.handle_exception(exc_info, source_hint=source)
File "/usr/lib/python2.7/dist-packages/jinja2/environment.py", line 742, in handle_exception
reraise(exc_type, exc_value, tb)
File "<unknown>", line 1, in template
jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'autoescape'.

但是,当我检查 env.extensions 字典时,它确实包含jinja2.ext.AutoEscapeExtension 对象,而这个对象,有一个 tag 属性,即等于 set(['autoescape'])。所以一切似乎都应该有效,但事实并非如此......

最佳答案

没关系,我没有阅读文档...我不应该使用 env.template_class 来获取模板,而应该使用 env.from_string。我真是个傻子……

关于python - jinja2 自动转义扩展不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25740186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com