单引号的html属性会自动替换为双引号

时间:2012-10-08 14:56:04

标签: jquery django django-templates double-quotes html

如果我在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 - 但这对我来说似乎非常难看。怎么能阻止神奇的替换?

1 个答案:

答案 0 :(得分:0)

看起来您想要使用安全字符串。这篇文章应该有所帮助。

Using JSON in django template