Flask使用render_template时如何让模板忽略非变量的{{}}包裹内容
Flask模板中转义{{}}语法的方案
Flask底层使用Jinja2模板引擎解析模板内容,你可以通过以下两种方式实现指定{{}}包裹内容不被解析、原样输出:
- 方式1:使用
{% raw %}/{% endraw %}标签包裹需要原样输出的内容
这是最常用的方案,单条内容或者整段不需要解析的模板代码都可以用该标签包裹,示例写法:
渲染后会直接输出{% raw %}{{InteractionDefaults.Email}}{% endraw %}{{InteractionDefaults.Email}},不会触发变量解析逻辑。 - 方式2:将需要原样输出的内容作为字符串传入Jinja变量标签
仅需要转义单个短内容时可以用该写法,示例:{{ '{{InteractionDefaults.Email}}' }}
注意:你之前尝试的
@{{}}写法是Vue等前端框架的转义规则,Jinja2引擎不支持该语法,因此无法生效。
内容的提问来源于stack exchange,提问作者Renan Polonio
相关产品推荐
相关产品推荐

