Как использовать переменную javascript в операторе if (шаблон) в django?

Я пытаюсь обновить мой html элемент с помощью оператора django if:

element.innerHTML= `{% if person.name == ${value} %} something {% endif %}`

но я получаю ошибку:

TemplateSyntaxError at /
Could not parse the remainder: '${value}' from '${value}'

Я также пробовал:

 `{% if person.name == ${value} %} something {% endif %}`

Но утверждение не работает должным образом. Могу ли я что-нибудь сделать, чтобы объединить javascript с переменными Django?

Короткий ответ
. Нет. Вы не можете этого сделать, по крайней мере, не так легко.

Подробный (немного) ответ
. Django заменяет все теги {{ }} и {% %} результатом на сервере (back end), когда страница рендерится, прежде чем она попадет к клиенту. Ваша переменная JavaScript (JQuery?) оценивается клиентом (front end). Django не будет знать, что такое ${value}. Поэтому, нет, вы не можете использовать переменную JavaScript в коде шаблона Django.

Это не означает, что вы не можете достичь желаемого, но это должно быть сделано следующим образом. Ваш код JavaScript может получить значение person.name из представления, а затем вы можете выполнить оператор if в файле JavaScript после получения ответа от выборки. Представление может вернуть значение person.name в виде JsonResponse

Вернуться на верх