【问题标题】:Unescape html entities from JSON in Django templates在 Django 模板中从 JSON 中转义 html 实体
【发布时间】:2013-11-03 10:29:25
【问题描述】:

我从服务器获得了被转义的响应:

'item':'<b> Some Data </b>'

我使用item= json.loads(response)将这些数据传递给模板

默认情况下,django 模板(在 Google App Engine 中)会进一步转义,
所以它的双重逃逸结果。 我可以使用safe 删除一级转义,例如:

{{item|safe}}

如何将实体转为对应的符号?

【问题讨论】:

    标签: python google-app-engine django-templates html-entities


    【解决方案1】:

    警告 - 这不是推荐的解决方案。您应该改用自动转义(检查Rafael's answer)。

    以下应该做的工作。
    response.replace('&', '&').replace('<', '<').replace('>', '>')

    更新 -Jan Schär 的建议下,您应该使用以下内容: response.replace('<', '<').replace('>', '>').replace('&', '&')

    因为,如果 response>,它将导致 > 而不是正确的 >。你应该在最后解决&

    【讨论】:

      【解决方案2】:

      你可以这样做:

      {% autoescape off %}
        {{ your_text_var }}
      {% endautoescape %}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-11
        • 1970-01-01
        相关资源
        最近更新 更多