Как использовать templatetag приложения django?django templatetag?
ответ
Создание нового тега шаблона может быть весьма существенным в зависимости от того, что он делает, и является ли он блочным тегом (с началом и концом - например, {% if %} {% endif %}
и т. Д.). В принципе, вам нужно создать example.templatetags
(где example
- это ваше приложение), которое реализует ваш тег, а затем {% load example %}
в ваших шаблонах, чтобы они могли «видеть» ваши теги и фильтры вашего шаблона.
Например, если вы хотите создать тег {% foobarbaz %}
, который выдает либо «foor», либо «bar» или «baz» (если задан как arg) или «» (когда что-либо еще дается) при использовании в шаблон, ваш example/templatetags.py
мощь выглядит следующим образом:
from django import template
register = template.Library()
@register.simple_tag
def foobarbaz(input):
if "foo" == input:
return "foo"
if "bar" == input:
return "bar"
if "baz" == input:
return "baz"
return ""
в шаблонах, вы могли бы сделать что-то вроде этого (напомним, что выше модуль является частью example
приложения):
{% load example %}
{% foobarbaz "bar" %}
{% foobarbaz "elephant" %}
{% foobarbaz "foo" %}
Какой бы выход:
bar
foo
Обратите внимания, что, как я использую simple_tag
, у меня есть только рудиментарный контроль над разбором аргументов, нет никакого способа, чтобы сделать конечный тег и т.д.
Смотрите documentation on custom template filters and tags для получения дополнительной информации.
- 1. django templatetag
- 2. Django templatetag «порядок обработки»
- 3. Зачем использовать django TemplateTag tag?
- 4. Повторное использование вызова templatetag в шаблоне Django
- 5. Использование даты в Django url templatetag
- 6. Django templatetag return True или False
- 7. django: получить текущую локаль внутри templatetag
- 8. Django, выполнить templatetag перед шаблоном рендеринга
- 9. Django pass template variable to custom templatetag
- 10. Regex to match django block templatetag
- 11. Django templatetag для рендеринга подмножества html
- 12. Как создать конкретное условие templatetag с Django?
- 13. Как работает django`s templatetag cache?
- 14. Джанго Templatetag погрузочные
- 15. «is_logged_in» templatetag не отображает
- 16. Dynamic templatetag
- 17. Как получить request.user в TemplateTag
- 18. Как получить доступ к списку python из django templatetag?
- 19. Django admin - как получить все зарегистрированные модели в templatetag?
- 20. django templatetags для jQuery, чтобы получить товар из html templatetag
- 21. Значение доступа к шаблону Django внутри цикла в templatetag
- 22. Как сохранить результат templatetag с использованием шаблонов Django?
- 23. django custom templatetag не получает запрос в контексте
- 24. Как сделать placeholders из django-cms custom templatetag?
- 25. С templatetag вызывает ошибку
- 26. Включение templatetag с помощью счетчика
- 27. url templatetag с "безопасными" аргументами?
- 28. PyCharm Жаловаться Джанго `templatetag` Аргумента
- 29. Почему pdb.set_trace() не работает в определении templatetag?
- 30. URL templatetag в Джанго и direct_to_template
Вы хотите использовать существующий templatetag, который уже сделал? Или вы хотите создать свой собственный? – Fragsworth