<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .pagination .page{ display: inline-block; padding: 5px; background-color: antiquewhite; margin: 5px ; } </style> </head> <body> <ul> {% for item in li %} {% include 'li.html' %} {% endfor %} <div class="pagination"> {{ page_str|safe }} </div> </ul> </body> </html>
def user_list(request): current_page = request.GET.get('p',1) current_page = int(current_page) #(current_page-1)*10 #current_page * 10 start = (current_page-1)*10 end = current_page * 10 data = LIST[start:end] all_count = len(LIST) count,y = divmod(all_count,10) if y: count += 1 page_list = [] for i in range(1,count+1): if i ==current_page: temp = '<a class="page_active" href="/user_list/?p=%s">%s</a>' %(i,i) else: temp = '<a class="page" href="/user_list/?p=%s">%s</a>' %(i,i) page_list.append(temp) page_str= "".join(page_list) page_str = mark_safe(page_str) return render(request,'user_list.html',{'li':data,'page_str':page_str})
分页2
def user_list(request): current_page = request.GET.get('p',1) current_page = int(current_page) per_page_count = 5 #(current_page-1)*10 #current_page * 10 start = (current_page-1)*per_page_count end = current_page * per_page_count data = LIST[start:end] all_count = len(LIST) count,y = divmod(all_count,per_page_count) if y: count += 1 page_list = [] for i in range(1,count+1): if i ==current_page: temp = '<a class="page_active" href="/user_list/?p=%s">%s</a>' %(i,i) else: temp = '<a class="page" href="/user_list/?p=%s">%s</a>' %(i,i) page_list.append(temp) page_str= "".join(page_list) page_str = mark_safe(page_str) return render(request,'user_list.html',{'li':data,'page_str':page_str})
模板3
def user_list(request): current_page = request.GET.get('p',1) current_page = int(current_page) per_page_count = 5 #(current_page-1)*10 #current_page * 10 start = (current_page-1)*per_page_count end = current_page * per_page_count data = LIST[start:end] all_count = len(LIST) total_count,y = divmod(all_count,per_page_count) if y: total_count += 1 page_list = [] # start_index = 1 # end_index = count+1 start_index = current_page - 5 end_index = current_page + 5 +1 if total_count<11: start_index =1 end_index =total_count+1 else: if current_page<=6: start_index = 1 end_index = 11 else: start_index = current_page - 5 end_index = current_page +5 +1 for i in range(start_index, end_index): if i ==current_page: temp = '<a class="page_active" href="/user_list/?p=%s">%s</a>' %(i,i) else: temp = '<a class="page" href="/user_list/?p=%s">%s</a>' %(i,i) page_list.append(temp) page_str= "".join(page_list) page_str = mark_safe(page_str) return render(request,'user_list.html',{'li':data,'page_str':page_str})
def user_list(request): current_page = request.GET.get('p',1) current_page = int(current_page) per_page_count = 5 #(current_page-1)*10 #current_page * 10 start = (current_page-1)*per_page_count end = current_page * per_page_count data = LIST[start:end] all_count = len(LIST) total_count,y = divmod(all_count,per_page_count) if y: total_count += 1 page_list = [] # start_index = 1 # end_index = count+1 start_index = current_page - 5 end_index = current_page + 5 +1 if total_count<11: start_index =1 end_index =total_count+1 else: if current_page<=6: start_index = 1 end_index = 11 else: start_index = current_page - 5 end_index = current_page +5 +1 if (current_page + 5) > total_count: end_index = total_count+1 total_count = total_count - 11 for i in range(start_index, end_index): if i ==current_page: temp = '<a class="page_active" href="/user_list/?p=%s">%s</a>' %(i,i) else: temp = '<a class="page" href="/user_list/?p=%s">%s</a>' %(i,i) page_list.append(temp) page_str= "".join(page_list) page_str = mark_safe(page_str) return render(request,'user_list.html',{'li':data,'page_str':page_str})
模板:4
def user_list(request): current_page = request.GET.get('p', 1) current_page = int(current_page) per_page_count = 5 # (current_page-1)*10 # current_page * 10 start = (current_page - 1) * per_page_count end = current_page * per_page_count data = LIST[start:end] all_count = len(LIST) total_count, y = divmod(all_count, per_page_count) if y: total_count += 1 page_list = [] pager_num = 11 # start_index = 1 # end_index = count+1 start_index = current_page - 5 end_index = current_page + 5 + 1 if total_count < 11: start_index = 1 end_index = total_count + 1 else: if current_page <= (pager_num + 1) / 2: start_index = 1 end_index = 11 else: start_index = current_page - (pager_num - 1) / 2 end_index = current_page + (pager_num + 1) / 2 if (current_page + (pager_num - 1) / 2) > total_count: end_index = total_count + 1 total_count = total_count - pager_num + 1 if current_page ==1: prev = '<a class="page" href="javascript:void(0)">上一页</a>' else: prev = '<a class="page" href="/user_list/?p=%s">上一页</a>' % (current_page - 1,) page_list.append(prev) for i in range(int(start_index), int(end_index)): if i == current_page: temp = '<a class="page_active" href="/user_list/?p=%s">%s</a>' % (i, i) else: temp = '<a class="page" href="/user_list/?p=%s">%s</a>' % (i, i) page_list.append(temp) if current_page == total_count: nex = '<a class="page" href="javascript:void(0)">下一页</a>' else: nex = '<a class="page" href="/user_list/?p=%s">下一页</a>' % (current_page +1,) page_list.append(nex) jump = """ <input type='text' /><a onclick='jumpTo(this, "/user_list/?p=");'>GO</a> <script> function jumpTo(ths,base){ var val = ths.previousSibling.value; location.href = base + val; } </script> """ page_list.append(jump) page_str = "".join(page_list) page_str = mark_safe(page_str) return render(request, 'user_list.html', {'li': data, 'page_str': page_str})