我有一个字符串,我想转义,然后只添加特定的html标签,然后打印在jinja。这就是我想做的:
{{ user.info | e | nl2br | safe }}因此,本质上,我希望将新行转换为<br/>,但要转义用户提供的每个html标记。这似乎不起作用,<br/>标记也被转义了。我怎样才能在金甲实现这样的行为呢?
发布于 2016-02-06 09:23:40
好的,我找到了一个解决方案,看起来转义实际上是返回一个标记对象,所以调用安全对它没有帮助。我必须定义一个自定义过滤器:
@app.template_filter('escape_custom')
def escape_custom(string):
string = str(jinja2.escape(string))
return jinja2.Markup(string.replace('\n', '<br/>\n'))https://stackoverflow.com/questions/35238976
复制相似问题