from django.utils.safestring import mark_safe
#这是假设有109篇文章,仅做实验,到时候是数据库里的
LIST = []
for i in range(109):
LIST.append(i)
def paging(request):
#获取当前页数(?p=...)
current_page = request.GET.get('p',1)
current_page = int(current_page)
#用列表的切片,控制一页中显示多少篇文章,这里是10篇
start = (current_page-1) * 10
end = current_page * 10
data = LIST[start:end]
#开始做网页面下面显示的数字,也就是页数,divmod获取两个值一个是除数,一个是余数
count,y = divmod(len(LIST),10)
count_page = []
#如果余数不为0,则页数加一
if y:
count = count+1
#循环所有页数,附上a标签和数字,mark_safe是将字符串转换成网页认识的标签(防止xss攻击)
for item in range(1,count+1):
#在这里还可以做一个判断,如果当前页数等于item,就给当前页加一个class
temp = "<a href='/app02/paging?p=%s'>%s</a>"%(item,item)
temp = mark_safe(temp)
count_page.append(temp)
return render(request,'paging.html',{"count_page":count_page,'data':data})
用django做分页
最新推荐文章于 2023-08-07 11:28:10 发布