Использовать возвращаемое значение тега шаблона для условной логики в шаблоне - PullRequest
0 голосов
/ 28 июня 2018

У меня есть тег шаблона, который возвращает True или False. Например:

@register.simple_tag
def is_home(context):
   if homepage:
       return True
   else:
       return False

Я хочу использовать этот тег для изменения иконки в шаблоне:

{% if is_home %}
  <svg data-src="{% static 'images/cart_white.svg' %}" width="35" height="30"/>
{% else %}
   <svg data-src="{% static 'images/cart.svg' %}" width="35" height="30"/>
{% endif %}

Однако тег шаблона не называется так.

Только если я назову это так: {% is_home%} это работает, но я не могу использовать результат для условного выражения.

Есть идеи, как использовать результат для логики?

1 Ответ

0 голосов
/ 28 июня 2018

A simple_tag также можно использовать для установки переменной в контексте :

{% is_home as is_home %}
{% if is_home %} {# now testing the `is_home` var #}
  <svg data-src="{% static 'images/cart_white.svg' %}" width="35" height="30"/>
{% else %}
   <svg data-src="{% static 'images/cart.svg' %}" width="35" height="30"/>
{% endif %}
...