Django - регистрация нескольких тегов шаблона в одном файле
Мне просто интересно, можно ли зарегистрировать более одного тега шаблона в одном файле, например, так:
# (project root)/templatetags/my_inclusion_tags.py
from django.template import Library
register = Library()
def func1():
...
return context
def func2():
...
return context
def func3():
...
return context
register.inclusion_tag('templatetages/templates/template1.html', func=func1, name='tag1')
register.inclusion_tag('templatetages/templates/template2.html', func=func2, name='tag2')
register.inclusion_tag('templatetages/templates/template3.html', func=func3, name='tag3')
Я просто думаю, что это делает дерево файлов намного чище. Поскольку мои функции для тегов включения имеют длину около 10 строк, я думаю, что иметь их в отдельных файлах скорее бесполезно, чем полезно.
Мне кажется, что это должно быть возможно, хотя я не уверен, как сообщить settings.py о существовании этих тегов включения. Я пробовал несколько разных способов, но ничего не сработало, например:
# settings.py
TEMPLATES = [
...
OPTIONS: {
...
libraries: {
'tags': 'templatetags.my_templatetags'
}
}
]
А затем импортируйте их примерно так:
{% load tags %}
или
{% load tags.tag1 %}
Но, как я уже сказал, у меня ничего не работает, и я нигде не смог найти никакой информации об этом.