2012-06-14 26 views
1

我只需要转义输出的部分用户输入。例如如何从Django的视图渲染模板标签

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

这很容易...但它非常丑陋......因此,只有一个曲目:您应该使用Template类http://dattatecblog.com/wp-content/uploads/2012/01/oh_my_god。 jpg – Goin

回答

3

我不明白你想要做什么,但在视图中,你可以使用django.utils.safestring.mark_safe来标记项目不需要自动转义。

+0

我试图做的是从视图中输出{%autoescape off%}。这确实是我所需要的。谢谢! – Ulmer