SyntaxError: ожидаемое выражение, получено '&' (Django) - PullRequest
2 голосов
/ 18 июня 2020

У меня есть панель инструментов analyti c с Django в качестве серверной части. После анализа данных в Python я отправляю словарь с именем и характером.

var things_mentioned = {{entity.name}};
var things_salience = {{entity.salience}};

, который вызывает ошибку: SyntaxError: expected expression, got '&'

Код ниже не вызывает ошибок и работает идеально:

var things_mentioned = ['noodles', 'food', 'Chinese', 'flavor', 'umami flavor'];
var things_salience = {{entity.salience}};

когда я пытаюсь просмотреть {{entity.name}} значение на простой HTML странице, он точно отображает это

['noodles', 'food', 'Chinese ',' аромат ',' аромат умами '].

Кроме того, во всей моей программе нет ни одного' & '.

1 Ответ

2 голосов
/ 18 июня 2020

Он попытается HTML -экранировать строку. Вы можете использовать JavaScript экранирование. Самый безопасный способ - это использовать шаблонный фильтр |json_script [Django -do] . Таким образом, вы можете использовать это как:

{{ entity.name<b>|json_script:"things_mentioned"</b> }}
var things_mentioned = <b>JSON.parse(</b>document.getElementById('things_mentioned').textContent<b>);</b>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...