我从Django获取了大量数据到模板中:
var dataFromServer = JSON.parse('{{ delivery_provider|jsonify }}');
任何时候进入Django数据时都会出现一些像这样的符号
{"id": 1, "company_name": "User's company", "address": null }
我的javascript代码崩溃,错误
Uncaught SyntaxError: Unexpected identifier
因为符号'对正面的字符串有错误的解释。
如何通过Python / Django转义此引号?或者,在正面存在一些解决方案吗?
答案 0 :(得分:1)
看看escapejs
template tag。
来自django docs:
转义用于JavaScript字符串的字符。
所以,在你的情况下,它可能是:
var dataFromServer = JSON.parse('{{ delivery_provider|jsonify|escapejs }}');
此外,如果您使用django-jsonify,则文档中有一个用法示例:
var items = {{ items|jsonify }};
这意味着,作者打算跳过您JSON.parse
所在的部分,并将对象直接放到javascript代码中。