放入引号时,<a></a>标记不会被呈现

时间:2015-01-18 03:18:18

标签: python html django google-app-engine

我知道这是一个微不足道的错误,但我无法调试它 当我将标记放在引号中并为链接动态生成字符串时,不会生成“链接”。而是'&lt;','&gt;'正在被渲染。 (我正在尝试在GAE中运行使用django模板框架的python脚本)

以下是我的代码:

from google.appengine.ext.webapp import template  

...  

html = html + template.render('templates/footer.html',
                                          {'links': 'Enter <a href="/">another sighting</a>.'})  

以下是模板中的'footer.html':

<p>
{{ links }}
</p>
</body>
</html>  

以下是输出:

Output on browser

任何帮助将不胜感激。 (这是Firefox和谷歌浏览器中的情况)

1 个答案:

答案 0 :(得分:2)

safe过滤器添加到您的变量中:

{{ links|safe }}

或者使用mark_safe函数在python代码中将字符串标记为安全:

from django.utils.safestring import mark_safe

html = html + template.render('templates/footer.html',
            {'links': mark_safe('Enter <a href="/">another sighting</a>.')})  

这是django的automatic HTML escaping机制。您可以使用autoescape模板标记来控制它,但我不建议这样做: - )