Почему все «конвертируются в» в шаблоне djnago? - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь передать некоторые данные из представлений django в шаблоны django, где я хотел бы сохранить эти данные в переменную javascript, но происходят некоторые странные вещи. Если я смотрю данные в консоли djnago, я вижу это:

[{'id': 1, 'shape': 'image', 'image': "{% static 'display_network/logos/Router.png' %}", 'label': 'Default gateway'}, {'id': 2, 'shape': 'image', 'image': "{% static 'display_network/logos/VM.png' %}", 'label': 'VM2'}, {'id': 3, 'shape': 'image', 'image': "{% static 'display_network/logos/VM.png' %}", 'label': 'VM3'}, {'id': 4, 'shape': 'image', 'image': "{% static 'display_network/logos/VM.png' %}", 'label': 'VM4'}, {'id': 5, 'shape': 'image', 'image': "{% static 'display_network/logos/VM.png' %}", 'label': 'VM5'}]

Но когда я сохраняю данные в переменную javascript и печатаю, то в консоли получаю странный результат:

[{'id': 1, 'shape': 'image', 'image': "{% static 'display_network/logos/Router.png' %}", 'label': 'Default gateway'}, {'id': 2, 'shape': 'image', 'image': "{% static 'display_network/logos/VM.png' %}", 'label': 'VM2'}, {'id': 3, 'shape': 'image', 'image': "{% static 'display_network/logos/VM.png' %}", 'label': 'VM3'}, {'id': 4, 'shape': 'image', 'image': "{% static 'display_network/logos/VM.png' %}", 'label': 'VM4'}, {'id': 5, 'shape': 'image', 'image': "{% static 'display_network/logos/VM.png' %}", 'label': 'VM5'}]

Мой код JS:

var devices = "{{ devices }}";        
console.log(devices);

Все 'конвертированы в ', и я не знаю, почему они конвертированы. Любая идея, как я могу решить эту проблему?

1 Ответ

1 голос
/ 23 мая 2019

Вы должны пометить его как безопасный от автоматического экранирования, а затем проанализировать строку.

var devices = JSON.parse("{{ devices|safe }}");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...