我需要转义部分用户输入以进行输出。例如
Hey a status update for <a href="/profile/2353">@Friend Name</a>
我只需要逃避文本的链接部分,以防有人做类似
的事情<h1>HaCkEDED!!!!</h1>
所以我无法逃脱整个街区。所以我尝试了这个
'{%% autoescape off %%} <a href="/profile/%s">%s</a>{%% endautoescape %%}' % (tag, at)
当我将它发送到浏览器中的输出时,这就是我得到的
{% autoescape off %} <a href="/profile/2353">@Friend Name</a>{% endautoescape %}
如何让autoescape工作?我不能使用单独的变量并放
{{ tag | safe }}
因为一个帖子可能有多个标签,而且标签位于不同的位置。那么我怎么能让Django让我输出一个模板呢?
答案 0 :(得分:3)
我并不完全明白您要尝试做什么,但在视图中,您可以使用django.utils.safestring.mark_safe
将项目标记为不需要自动转换。
答案 1 :(得分:0)
我认为使用custom templatetag or filter更容易做到这一点,可能还有一些可以识别标签的regex。