Установка и вызов переменной в HTML (потенциально включая javascript) в django
У меня есть HTML код в Django, при выполнении определенных условий я хочу установить цвет контейнера div. Как видно между тегами script, при выполнении одного условия цвет должен быть установлен на success, при выполнении другого - на danger, затем далее в коде в описании класса div, где я поставил (color), нужно вызвать эту переменную. Любой совет будет очень признателен
Django просто воспринимает это: var colour = 'success'
как текст при рендеринге шаблона, т.е. ваши объявления переменных читает клиент, а не Django.
Вместо этого напишите эту логику непосредственно там, где она нужна. Логика здесь даже настолько проста, что подойдет простой троичный оператор:
<div class=bg-{{ 'success' if Post.temperature > threshold.temperature else 'danger' }}>
Для более сложной логики я бы рекомендовал рассмотреть пользовательские шаблонные теги, которые вы будете использовать следующим образом:
<!-- template file (.html) -->
<div class=bg-{% get_colour_for_post Post threshold %}>
# template tag definition (.py)
@register.simple_tag
def get_colour_for_post(post, threshold):
return (
'success'
if Post.temperature > threshold.temperature
else 'danger'
)