我得到一些代表嵌入式推文的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>
答案 0 :(得分:3)
关闭HTML的自动加载,因为您可能信任来自Twitter API的数据。
{{ html|safe }}
Jinja默认会逃避不安全的字符,以防止出现一些安全漏洞。所以你看到什么看起来像原始的HTML而不是渲染的html。