在jinja2中我在python中的字符串是a = 123r456但是当我传入jinja2模板中之后例如var a = a ;会自动帮我用r换行导致js语句出错这非常糟糕
在Jinja2中,默认会对字符串进行转义处理,因此会将\r转义为换行符。如果你希望保留原始字符串的格式,可以在模板中使用"safe"过滤器来告诉Jinja2不要对字符串进行转义。以下是一个示例:
from jinja2 import Template
a = "123\r456"
template = Template('var a = {{ a|safe }};')
result = template.render(a=a)
print(result)
输出将是:
var a = 123\r456;
通过使用|safe过滤器,Jinja2将不会对字符串进行转义,保留原始的\r字符。这样可以避免在JavaScript中出现错误。
原文地址: https://www.cveoy.top/t/topic/i5ah 著作权归作者所有。请勿转载和采集!