1

我只需要转义部分用户输入以进行输出。例如

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 %}

我怎样才能让自动转义工作?我不能使用单独的变量并放入

{{ tag | safe }}

因为一篇文章可能有多个标签,标签将位于不同的位置。那么我怎样才能让 Django 让我输出它的一个模板呢?

4

2 回答 2

3

我不完全了解您要做什么,但是在视图中,您可以使用django.utils.safestring.mark_safe.

于 2012-06-14T08:36:46.053 回答
0

我认为使用自定义模板标签或过滤器更容易做到这一点,可能使用一些可以识别标签的正则表达式。

于 2012-06-15T08:39:56.640 回答