【问题标题】:How to correctly parse JSON object returned from django response to template into data attribute如何正确将从 django 响应返回到模板的 JSON 对象解析为数据属性
【发布时间】:2019-02-24 14:07:24
【问题描述】:

我无法在 google 中找到类似的主题。

我通过视图将简单对象返回到django模板中

观看次数:

return render(request, 'mainPage.html', {
    'obj': getObj()
})

def getObj():
    path = '/home/myPage' + 'obj.json'

    fd = open( path, 'r')
    obj = fd.read()
    fd.close()

    return json.dumps(obj)

模板:

<input type="hidden" id="obj" data-obj="{{ obj }}">

和 JS:

var obj = JSON.parse( $('#obj').data('obj') );
console.log( obj );

我在控制台中看到了正确的结果:

{
    "2018": {
        "First": {
            "obj1": "4",
            "obj2": "231",
        }
    }
}

但是当我尝试通过 console.log(obj ['2018']); 引用这个 obj 时它返回未定义的

感谢您的帮助 提前致谢

【问题讨论】:

标签: javascript python django


【解决方案1】:

好像 obj.json 已经是一个 JSON 文件了。读取数据后无需调用json.dumps。直接传obj就好了。

此外,您需要通过将模板输出为{{ obj|safe }} 来禁用自动转义。

【讨论】:

    猜你喜欢
    • 2016-11-13
    • 1970-01-01
    • 2013-09-19
    • 2019-06-25
    • 1970-01-01
    • 2014-11-22
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多