gpt4 book ai didi

javascript - 使用 Django 模板(列表和字典)将 Python 数据结构转换为 js 数据结构

转载 作者:太空狗 更新时间:2023-10-30 02:13:20 25 4
gpt4 key购买 nike

我有一个 Django View ,它返回一个像这样的字典列表

data = [{'year': 2006, 'books': 54},
{'year': 2007, 'books': 43},
{'year': 2008, 'books': 41},
{'year': 2009, 'books': 44},
{'year': 2010, 'books': 35}]

c = {
'data': data,
}
return render(request, 'template.html', c)

模板文件中有一些基本的 JavaScript,可以执行类似这样的操作。

var data = "{{data}}";
console.log(data);
//..... Then other functions

问题是数据通过格式如下的模板进入 JavaScript,引号为 '。

{'books': 4, 'year': 2010}, {'books': 7, 'year': 2011}

我尝试使用以下命令将字典列表转储到 python 中的 json 字符串:

simplejson.dumps(data)

但没有快乐。任何修复的建议和想法?人们如何使用 django 模板将 python 数据结构转换为 js 数据结构

注意:理想情况下,js 数据变量应如下所示:

var data = [{year: 2006, books: 54},
{year: 2007, books: 43},
{year: 2008, books: 41},
{year: 2009, books: 44},
{year: 2010, books: 35}];

最佳答案

这是 django 设计的一部分,用于阻止用户生成的数据未转义地进入输出。 (XSS 预防等)

要解决这个问题,您需要结合使用 json.dumps()(simplejson 在 py>=2.6 中已弃用)以确保输出是 JS 安全的,并且var data = "{{ data|safe }}" 明确告诉 django 不要转义该变量的输出。

关于javascript - 使用 Django 模板(列表和字典)将 Python 数据结构转换为 js 数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9547185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com