JawsIk
@JawsIk
Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)

Как использовать пользовательские теги Django в шаблонных конструкциях If-else-endif?

Суть в чём:
Добавил я в файл settings.py свой параметр:

MY_PARAMETR = True

создал папку templatetags с файлом __init__.py и сделал я пользовательский тег:
(в файле my_tag.py)
from django import template
from ws.settings import MY_PARAMETR

register = template.Library()

@register.simple_tag
def get_my_parametr():
    return MY_PARAMETR


теперь хочу в шаблонах Django использовать такую конструкцию:
{% load my_tag %}

{% if get_my_parametr %}
    {% include "template_true.html" %}
{% else %}
    {% include "template_false.html" %}
{% endif %}


и оно не работает.

пробовал так:
{% if get_my_parametr == 'True' %}
и так:
{% if get_my_parametr == True %}

всё равно не работает.

Как сделать, чтобы свой собственный пользовательский тег можно было использовать в шаблоне как параметр для ветвления конструкции If-else-endif?

p.s. просто так содержимое тега я в шаблоне (в браузере вижу), т.е. если я пропишу:
<h1>{% get_my_parametr %}</h1>
то я прекрасно вижу надпись True
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
{% get_my_parameter as my_parameter %}

{% if my_parameter %}
    ...
{% endif %}


P.S. Конфигурацию лучше загружать так from django.conf import settings
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы