これはうまくいけば素早く簡単です。私はカスタムテンプレートタグを使ってこれを回避する方法を知っていますが、私が見ていた他の方法があるのか不思議でした。ブログのためのギャラリー機能を作成しました。ギャラリーのページにはすべてのギャラリーがページされています。今度は、各ギャラリーに20枚の画像があっても、5枚のページにページを貼ると100枚の画像が表示されるので、そのギャラリーのすべての写真をそのリストに表示する必要はありません。それは無駄だし、物事については間違ったやり方だ。django forループカウンタブレーク
質問には、写真セットから3枚の写真を表示する方法がありますか?私は何をしたいのですが、私はがが可能であるとは思わないこと(擬似コード)のようなものされています、それはを介して可能
{% for photos in gallery.photo_set %}
{% if forloop.counter lt 3 %}
<img src="{{ photos.url }}">
{% endif %}
{% endfor %}
私はそれを完全に欠けている場合を除き、文書から判断ではありませんテンプレートシステム。したがって、私はそれを回避するための独自のテンプレートタグを書くことができます。私はおそらくビューの側面から何かをすることができますが、私はその考え方に遠慮していません。私が持っているもう1つの選択肢は、モデルにプレビューフィールドを与え、プレビューフィールドで必要な写真をユーザーが選択できるようにすることです。
とにかく、いくつかのオプションがあるので、私はあなたがそれをやる方法を見るために聴衆に投票したいと思った。どの意見もありがとうございます。個人的には、この猫をスキンケアする方法はたくさんあります。
私のすべての選択肢があります。そして、私が見落としているあなたの大変明白なものがあります。先端のおかげで、私にトラブルのトンを節約! – f4nt
スライスフィルタを使用することには別の利点があります。 Django QuerySetを渡す場合(コレクションではなく)、スライスは基本的なSQLクエリに流れ込み、ページがデータベースから取得する行数を制限します。 –
@Dave、+1:ありがとう、私はその最適化について知りませんでした - クール! –