怎么让jinja2的反斜杠不转义呢假设在python中 a = r放入模板字符串var a = a 就会有问题
要让Jinja2不转义反斜杠,可以使用raw过滤器或在模板字符串中使用三个大括号 {{{ }}}。
- 使用
raw过滤器:
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('templates'))
template = env.get_template('your_template.html')
a = "\r"
rendered_template = template.render(a=a|raw)
在模板中,使用{{ a|raw }}来输出a变量,不进行转义。
- 使用三个大括号
{{{ }}}:
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader('templates'))
template = env.get_template('your_template.html')
a = "\r"
rendered_template = template.render(a=a)
在模板中,使用{{{ a }}}来输出a变量,不进行转义。
这两种方法都可以避免Jinja2对反斜杠进行转义。选择其中一种方法即可。
原文地址: https://www.cveoy.top/t/topic/i49b 著作权归作者所有。请勿转载和采集!