从Twitter渲染HTML显示代码而不是嵌入的推文

时间:2015-08-03 22:22:34

标签: python twitter flask jinja2

我得到一些代表嵌入式推文的HTML,并希望在模板中呈现它们。但是,我得到原始的HTML代码而不是嵌入的推文。如果我手动将HTML添加到模板,则推文会正确显示。为什么渲染代码而不是推文?

@app.route("/")
def main():
    html_list = sentiment.getEmbed()
    return render_template('home.html', htmls=html_list) 
<div id = "tweets">
{% for html in htmls %}
<div id ="twitter-wjs"> 
    {{html}}  
</div>
{% endfor %}
</div>

1 个答案:

答案 0 :(得分:3)

关闭HTML的自动加载,因为您可能信任来自Twitter API的数据。

{{ html|safe }}

Jinja默认会逃避不安全的字符,以防止出现一些安全漏洞。所以你看到什么看起来像原始的HTML而不是渲染的html。