Pagination
index.html |
{% for app in apps %} {{ app.title }}{% endfor %} {% if apps.has_previous %} <a href=”?p={{ apps.previous_page_number }}”>前へ</a> ①{% endif %} <span>{{ apps.number }} / {{ apps.paginator.num_pages }}</span> ② {% if apps.has_next %} <a href=”?p={{ apps.next_page_number }}”>次へ</a> ③{% endif %} |
①apps.previous_page_numberで前のページ番号を取得
②apps.paginator.num_pagesでページ数を取得
③apps.next_page_numberで次のページ番号を取得
views.py |
from django.core.paginator import Paginator def index(request): all_articles = App.objects.all() paginator = Paginator(all_articles, 10) p = request.GET.get(‘p’) ① apps = paginator.get_page(p) return render(request, ‘app/index.html’, {‘apps’:apps}) |
①request.GET.get(‘p’)はhttps://xxx.herokuapp.com/?p=3の3を取得
BACK