django 승급 기교
권한 제어
페이지 분할기(paginator)
>>> from django.core.paginator import Paginator
>>> objects = ['john', 'paul', 'george', 'ringo']
>>> p = Paginator(objects, 2)# , obj,
>>> p.count# obj
4
>>> p.num_pages#
2
>>> p.page_range#
[1, 2]
>>> page1 = p.page(1)#
>>> page1
>>> page1.object_list# obj
['john', 'paul']
>>> page2 = p.page(2)
>>> page2.object_list
['george', 'ringo']
>>> page2.has_next()#
False
>>> page2.has_previous()#
True
>>> page2.has_other_pages()#
True
>>> page2.next_page_number()# , ,
Traceback (most recent call last):
...
EmptyPage: That page contains no results
def my_pagination(request, queryset, display_amount=15, after_range_num = 5,bevor_range_num = 4):
#
paginator = Paginator(queryset, display_amount)
try:
# request page
page =int(request.GET.get('page'))
except:
# 1
page = 1
try:
#
objects = paginator.page(page)
#
except EmptyPage:
#
objects = paginator.page(paginator.num_pages)
#
except PageNotAnInteger:
#
objects = paginator.page(1)
#
if page >= after_range_num:
page_range = paginator.page_range[page-after_range_num:page+bevor_range_num]
else:
page_range = paginator.page_range[0:page+bevor_range_num]
return objects,page_range
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.