你如何在Jinja2的一个视图(或模板)标记字符串为“安全”?
-
13-09-2019 - |
题
通常,当你想标记字符串输出的Jinja2是安全的,你做这样的事情:
{{ output_string|safe() }}
不过,如果有什么output_string是的总是的安全吗?我不希望通过使用安全过滤器,每一次重复自己。
我有称为“emailize”的自定义过滤器的Preps网址在电子邮件输出。在&符号似乎总是成为逃脱。有没有在我的自定义过滤器的方式来标记输出作为安全吗?
解决方案
使用标记类:
类jinja2.Markup([字符串])
标记的字符串作为用于包含在HTML / XML输出安全,而无需进行转义。
其他提示
from django.utils.safestring import SafeString
...
return context.update({
'html_string': SafeString(html_string),
})
不隶属于 StackOverflow