我得到了一些代表嵌入推文的 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>
最佳答案
关闭 HTML 的自动转义,因为您可能信任来自 Twitter API 的数据。
{{ html|safe }}
Jinja 默认转义不安全字符以防止某些安全漏洞。因此,您看到的内容看起来像是原始 html,而不是渲染的 html。
关于python - 从 Twitter 渲染 HTML 显示代码而不是嵌入的推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31797744/