Как вызвать условные операторы на тегах шаблона без аргументов django

Я пытаюсь отобразить HTML-контент на основе того, что возвращает функция тег шаблона.

template.html

{% load custom_tags %}
{% if return_something == True %}
  # display something
{% endif %}

custom_tags.py

from my_app.models import MyModel

@register.simple_tag()
def return_something():
    if MyModel.objects.filter(active=True).exists()
        return True
    else:
        return False

Как мне это сделать? Спасибо!

1 ответ

Простые теги поддерживают as синтаксис, чтобы установить контекст как переменную.

{% return_something as something %}
{% if something %}

(Обратите внимание, что с булевыми значениями обычно следует избегать явного сравнения их с True или False.)

Другие вопросы по тегам