好的,我找到了解决方案!
主要是因为没有引用结果。当Javascript尝试解析对象时,该对象未被识别为字符串。
因此,第一步是:
var js_list = {{django_list}};变成:
var js_list = "{{django_list}}";此后,我意识到Django正在转义字符,因此我必须像这样替换它们:
var myJSonList = (("{{json_list}}").replace(/&(l|g|quo)t;/g, function(a,b){ return { l : '<', g : '>', quo : '"' }[b]; })); myData = JSON.parse( myJSonList );注意:我试图避免使用this来转义Django中的字符 :
var js_list = "{{json_list|safe}}";但这是行不通的,因为它与引号混淆了。
最终,我找到了一种避免在将后端发送到Javascript之前将其转换为JSON的逻辑的方法:
var myDjangoList = (("{{django_list |safe}}").replace(/&(l|g|quo)t;/g, function(a,b){ return { l : '<', g : '>', quo : '"' }[b]; }));myDjangoList = myDjangoList.replace(/u'/g, ''')myDjangoList = myDjangoList.replace(/'/g, '"')myData = JSON.parse( myDjangoList );我敢肯定,这可以改善,我告诉你;)
谢谢你的回答
希望对别人有帮助!



