<!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})