【问题标题】:javascript-readable json from python来自python的javascript可读的json
【发布时间】:2012-07-19 01:46:31
【问题描述】:

我的视图计算一个 json 并输出一个 json.dumps(),我将它作为字典键 data 传递。我正在尝试将其传递给我的模板中的脚本元素,但是在渲染时,浏览器将其作为 python 转义字符串{"nodes": [{"count":...... 获取,这对 javascript 是不可读的。我需要的是 python 将其作为 JS 转义字符串发送,类似于 {"nodes": [{"count":......。 我试过str(data)eval(data) 没有成功。基本上我需要 python 来发送字符串,就好像它正在将它打印到控制台一样。谢谢

【问题讨论】:

  • 这个问题对你有帮助吗? stackoverflow.com/q/1445989/92493
  • 我相信,如果您将其渲染到您的 HTML 模板,并且此 HTML 模板将使用 mime 类型“text/html”(或其变体)发送到浏览器,那么浏览器将转义引号等,所以我认为这实际上取决于您发送到浏览器的 mime 类型。

标签: javascript python django json


【解决方案1】:

这对我有用:

return HttpResponse(json.dumps({'foo' : 'bar'}, ensure_ascii=False),
    mimetype='application/json')

【讨论】:

  • 我在发送一个简单的 HttpResponse 时使用了类似的东西,但在这种情况下我必须渲染一个模板。
  • Np。很高兴答案很简单。
【解决方案2】:

如果我理解得很好,您想在模板中使用 json。 为此,您必须禁用转义,例如这样。

{% autoescape off %}
var x={{json_var}}
{% endautoescape %}

【讨论】:

    【解决方案3】:

    注意不要使用

    {% autoescape off %}
        {{ my_json }}
    {% endautoescape %}
    

    您可以简单地使用过滤器:

    {{ my_json|safe }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-07
      • 2021-11-13
      • 1970-01-01
      • 2017-04-02
      相关资源
      最近更新 更多