djangoのテンプレートのページングで連番を打つときに、{{ forloop.counter }}とういものがあります。
こちらを使用することで連番をふることができますが、django-pagination(djangoのページング)を使用して2ページ目に移動した場合、この連番は1からになってしまいます。
本日は、for.loopcounterとページングを使用して、2ページ目に画面遷移した時も連番が続けて表示される方法を紹介します。
コンテンツ
方法
結論から言って、方法は2つあります。
- 自作の組み込みテンプレートタグを作成する方法
- for.loopcounterにメソッドを使用する
1.の自作の組み込みテンプレートタグを作成する方法に関しては以前の記事でも紹介していますので、是非試してみてください。
2.のfor.loopcounterにメソッドを使用する方法が本日紹介する内容になります。
解決方法
通常使用している、{{ for.loopcounter }}を{{ forloop.counter0|add:user_page.start_index }}に書き換えてみましょう。
sample.html
1 |
{{ forloop.counter0|add:user_page.start_index }} |
中身に関して、user_pageは、views側から返すページングの値になります。
start_indexはuser_pageの先頭番号を表しています。
あとは、add:があるので足し算で足す事でその箇所からスタートが表示されるようになります。
以上。
最後に
いかがでしたでしょうか。
以上が、「【Django】ページングのfor.loopcounterでページングした時も連番を繋げる方法」の紹介記事になります。
プログラミング学習を効率良く進めるには…
私ヒロヤンがプログラミングを始めた頃は以下のような感じでした。
そしてネットで調べていくうちに膨大な時間が過ぎていきました。
私ヒロヤンの実体験より、プログラミングを効率的に学ぶために大切なことは以下のことだと考えています。
1. いつまでもダラダラとやらないで、目標を決定して短期集中する
2. マンツーマンで、わからない箇所は直ぐに質問をして即レスをもらう
.proでは私ヒロヤンが学習してきたプログラミング経験0からのpython/django、その他webサイト・サービス開発のコースが用意されています。
カウンセリング自体は無料なので話を聞いてみるだけでもいかがでしょうか?
また以下のリンク先ではdjangoを教えてくれるスクールをまとめ紹介しています。
コメントを残す