如果我在 django 模板中使用单引号属性,如下所示:
<button data-json='{"color":"red"}'>click</button>
它会自动替换为:
<button data-json="{"color":"red"}">click</button>
封闭的“{}”被转换为“{}”,这使得 jQuery 无法读取该属性。我已经试过了
{% autoescape off %}
没有运气。
编辑:
作为一个实验,我尝试了一些完全没有引号的东西(在 template.html 中):
<button data=foo>click</button>
转换为(查看浏览器中的源代码)
<button data="foo">click</button>
(带引号)。
我知道你可以将整个事情重写为
data-json="{'color':'red'}"
然后做一个 javascript.replace()
使它成为有效的 json - 但这对我来说似乎很丑陋。怎样才能阻止神奇的替换?