/ / aspas simples do atributo html são substituídas automaticamente por aspas duplas - jquery, django, django-templates, aspas duplas, html

aspas simples do atributo html são substituídas automaticamente por aspas duplas - jquery, django, django-templates, aspas duplas, html

Se eu usar um atributo citado único em um modelo de django como este:

<button data-json="{"color":"red"}">click</button>

ele é substituído automaticamente por:

<button data-json="{"color":"red"}">click</button>

o anexo "{}" é transformado em "{}", o que torna o atribuído ilegível para o jQuery. Eu já tentei

{% autoescape off %}

sem sorte.

EDITAR:

Como experimento, tentei algo completamente sem aspas (em template.html):

<button data=foo>click</button>

que é transformado em (olhando para o código fonte no navegador)

<button data="foo">click</button>

(com aspas).

Eu sei que você poderia reescrever a coisa toda como

data-json="{"color":"red"}"

e então faça um javascript .replace() para torná-lo JSON válido - mas isso parece muito feio para mim. Como parar a substituição mágica?

Respostas:

0 para resposta № 1

Parece que você deseja usar uma string segura. Esta postagem deve ajudar.

Usando o JSON no template do django