Я прочитал документацию по пользовательским тегам и фильтрам , но не вижу, как это можно сделать.Я хочу сделать пользовательский тег, который просто отображает строку.Нет контекста, просто один и тот же строковый литерал каждый раз.В этом конкретном случае я бы предпочел это вместо размещения {% include 'hello_world.htm'%} повсюду:
Foo, foo foo
<br>
{% hello_world %}
<br>
bar bar bar
Визуализация:
Foo, foo foo
<br>
"Hello World"
<br>
bar bar bar
Я чувствую, чтоЯ должен быть в состоянии сделать это с чем-то вроде:
custom_tags.py:
from django import template
register = template.Library()
@register.inclusion_tag('hello_world.htm')
def hello_world():
return {}
# Or:
def hello_world():
return {}
register.inclusion_tag('hello_world.htm', takes_context=False)(hello_world)
Нет кубиков.У меня есть другие пользовательские теги в custom_tags.py, я загружаю их, и они работают нормально, но всегда получают
Invalid block tag: 'hello_world', expected 'endblock' or 'endblock content'
Документация гласит
Теги сложнее, чем фильтры,потому что теги могут делать что угодно.
... как вы можете сделать простейшую вещь с тегами?