У меня есть код, похожий на следующий, в одном из моих шаблонов jinja
{% for post in posts %}
{% include ["posts/" + post.type + ".html", "posts/default.html"] %}
{% endfor %}
, который должен отображать каждое сообщение
внутри сообщений Коллекция
, в зависимости от .type
сообщения. У меня разные настройки шаблона для каждого post.type
. А для тех, у кого нет шаблона, он возвращается к шаблону сообщения по умолчанию
.
Теперь я хочу, чтобы индекс сообщения отображался снизу внутри шаблонов сообщений, который предоставляется loop.revindex
. Но по какой-то причине, если я использую loop.revindex
внутри шаблона сообщения, я получаю сообщение об ошибке UndefinedError: 'loop' is undefined
.
Итак, цикл
недоступен в шаблонах include
d? Это задумано? Я что-то делаю неправильно с тем, как я организовал свои шаблоны, чтобы это было недоступно?
Edit Хорошо, я придумал обходной путь, в цикле for, прежде чем включать свой шаблон, я делаю
{% set post_index = loop.revindex %}
и используйте post_index
внутри шаблона сообщения. Не идеально, но кажется единственным выходом. Тем не менее, я все еще хочу знать ваши решения.
Edit 2 Еще одна вещь: я могу получить доступ к переменной post
внутри шаблона include
d, но не к переменной loop
.