jinjaテンプレートの1つに次のようなコードがあります
{% for post in posts %}
{% include ["posts/" + post.type + ".html", "posts/default.html"] %}
{% endfor %}
投稿の内容に応じてpost
、コレクション内でそれぞれをレンダリングすることになっています。ごとに異なるテンプレート設定があります。テンプレートを持っていない場合は、投稿テンプレートに戻ります。posts
.type
post.type
default
ここで、投稿のインデックスを、によって提供される投稿テンプレート内に下から表示したいと思いますloop.revindex
。しかし、何らかの理由でloop.revindex
、投稿テンプレート内で使用すると、というエラーが表示されますUndefinedError: 'loop' is undefined
。
それで、dテンプレートloop
では利用できませんか?include
これは仕様によるものですか?これを利用できないようにテンプレートを整理する方法に何か問題がありますか?
編集さて、テンプレートを含める前に、forループで回避策を考え出しました。
{% set post_index = loop.revindex %}
post_index
投稿テンプレート内で使用します。理想的ではありませんが、唯一の方法のようです。私はまだあなたの解決策を知りたいです。
編集2もう1つ、 dテンプレートpost
内の変数にはアクセスできますが、変数にはアクセスできません。include
loop