Невозможно вызвать тег пользовательского шаблона

На html-странице я пытаюсь вызвать тег пользовательского шаблона django, но мне кажется, что он никогда не достигнет этой функции тега шаблона.

страница home.html

{% load custom_tags %}
{% if has_profile %}
  <p> Creator </p>
{% else %}
  <li><a href="{% url 'update_profile' %}" class="btn btn-simple">Become a Creator</a></li>
{% endif %}

custom_tags.py

из шаблона импорта django

from users.models import Profile

register = template.Library()

@register.simple_tag
def has_profile():
    return 1

Пожалуйста, дайте мне знать, если вам нужна какая-либо информация. Спасибо!


person sreekanthkura7    schedule 06.07.2019    source источник


Ответы (1)


Это не так работает. Все в теге if должно быть переменной шаблона, а не тегом.

Вы можете сохранить результат своего тега в переменной, используя синтаксис as, и использовать это:

{% has_profile as has_profile_result %}
{% if has_profile_result %}
    ...
person Daniel Roseman    schedule 06.07.2019