私はJinjaのドキュメントを読んで、truncate
フィルタを使用しています。私はドキュメントに定義されているとおりに正確に使用しました。ドキュメントからJinja無効なフィルタ、フィルタが組み込まれています
:
TRUNCATE(S、長さ= 255、killwords = Falseを、エンド=」...」、余裕=なし)は、文字列の切り捨てコピーを返します 。長さは最初の パラメータで指定され、デフォルトは255になります.2番目のパラメータがtrueの場合、 フィルタはテキストを長さに沿ってカットします。それ以外の場合は、最後の 語を破棄します。テキストが実際に切り捨てられた場合は、省略記号 記号( "...")が付加されます。 「...」以外の省略符号を使用する場合は、 の3番目のパラメータを使用して指定します。 4番目のパラメーターで指定された許容差を超えて の長さを超えるストリングは、 が切り捨てられません。ここで
私のコードです:
{% if post.replies.all %}
<ul class="accordion" data-accordion data-multi-Expand="true" data-allow-all-closed="true">
{% for reply in post.replies.all %}
<li class="accordion-item" data-accordion>
<a href="#" class="accordion-title">{{reply.by}}: {{reply.content|truncate(14)}}</a>
<div class="accordion-content" data-tab-content>
<img src="{{ reply.by.profile.img_url }}" class="thumbnail" width="50" height="50">
<p>{{ reply.content }}</p>
</div>
</li>
{% endfor %}
</ul>
{% endif %}
私がテストした後、次のトレースバックを得る:
私が間違って何をしているのですか?
DjangoはテンプレートをJinjaとして扱いますか? Djangoテンプレート言語として扱われた場合、そのエラーが発生する可能性があります。 Jinjaでは、 'post.replies.all()'を呼び出すことを期待しています。 – Alasdair
私は確信していません。私はJinja2を持っていることを確認するために私のバージョンをチェックし、実際には1.2しか持っていなかった。私はJinja2にアップグレードして無駄にしました。 –