Pythonのページング機能とスタイルを簡単に実現

1442 ワード

     Python            ,      Python,   Django         ,Python                ,            ,      ,      ,           django      ,           ,         django      ,     :
![        ](https://img-blog.csdnimg.cn/20181128170100595.png)

views.py
             from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
def index(request):

db = comment() sql = “select * from content” cur = db.cursor() cur.execute(sql) results = cur.fetchall() paginator_obj = Paginator(results, 3) request_page_num = request.GET.get(‘page’,1) page_obj = paginator_obj.page(request_page_num)
total_page_number = paginator_obj.num_pages
現在のページ
page_number = page_obj.number
次のページがあるかどうか
page_has_next = page_obj.has_next()
前のページがあるかどうか
page_has_previous = page_obj.has_previous()
次のページ
page_number_next = page_number + 1
前のページ
page_number_previous = page_number-1
return render(request, ‘index.html’,{‘page_obj’:page_obj,‘paginator_obj’:paginator_obj,‘page_has_next’:page_has_next,‘page_has_previous’:page_has_previous,‘page_number_next’:page_number_next,‘page_number_previous’:page_number_previous,‘page_number’:page_number})
index.html
前ページ{%endif%}{%for page_num in paginator_obj.page_range%}{%if page_num=%page_number%}{%page_num}{%else%}{%page_num}{%endif%}{%endfor%}{%if page_has_next==True%}次ページ{%endif%}
以上のコードは直接使用できますが、スタイルは必要に応じて自分で調整します.