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

标签 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>

最佳答案

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

{{ html|safe }}

Jinja 默认转义不安全字符以防止某些安全漏洞。因此,您看到的内容看起来像是原始 html,而不是渲染的 html。

关于python - 从 Twitter 渲染 HTML 显示代码而不是嵌入的推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31797744/

相关文章:

python - 通过已注册的 TLB 从 python 访问未注册的 COM 对象

java - 如何将 Facebook 联系人导入到我的 Android 平台应用程序中?

python - 散列密码从不淡化

python - 当 url 未指定语言时,无法使用 Flask-babel 和蓝图路由 url

python - Django 休息框架唯一一起错误消息不再显示

python - 如何在 Pandas 数据框中用 NaN 替换一系列值?

python - 在保存到记事本之前,不会使用 python 脚本对文件进行任何更改

android - Android 推特中的超链接消息

Java 应用程序在不同服务器上运行时未针对 Twitter 进行身份验证

python - 使用 angularjs 和 flask 进行用户身份验证的正确方法