Переменные Django в теге <script>

avatar
Herehere
8 апреля 2018 в 07:14
110
1
1

Я пытаюсь присвоить True или False переменной javascript на основе значения переменной шаблона django. Моя переменная шаблона django имеет много состояний (добавлено, создано, отправлено и некоторые другие). Я хотел бы присвоить значение true переменной javascript, если переменная django имеет состояние отправлено (перечислено как 5).

Я пробовал

var submitted = {{variable.state == 5|yesno:"true,false" }} 

но я получаю

Could not parse some characters: question.status| == 5||yesno:"true,false"

Спасибо за любую помощь!

РЕДАКТИРОВАТЬ: Спасибо, ребята, за вашу помощь. Я использовал

    var submitted = "{{variable.state}}" == 5;

и все заработало, как и ожидалось

Источник
HenryM
8 апреля 2018 в 07:37
1

Должен ли он быть {% if variable.state == 5 %}true{% else %}false{% endif %}?

Raja Simon
8 апреля 2018 в 07:46
0

Вы также можете написать свой собственный тег шаблона, чтобы отправить js true

Ответы (1)

avatar
shad0w_wa1k3r
8 апреля 2018 в 08:44
0

Django ожидает значение или переменную, а не инструкцию со встроенной yesno, отсюда и ошибка синтаксического анализа.

Вы должны выбрать более простое решение, которое HenryM уже упоминал -

var submitted = {% if variable.state == 5 %}true{% else %}false{% endif %};