django【原生分页】
1.urls.py
url(r'^page2/',views.page2),
2.views.py
from django.core.paginator import Paginator,PageNotAnInteger,EmptyPage
def page2(request):
customer_list=models.UserType.objects.all()
paginator=Paginator(customer_list,10)
page = request.GET.get('p')
try:
customer_objs=paginator.page(page)
except PageNotAnInteger:
customer_objs=paginator.page(1)
except EmptyPage:
customer_objs=paginator.page(paginator.num_pages)
return render(request,'page2.html',{'customer_list':customer_objs})
3.page2.html
{% load custom_tags %}
<style>
.active{
background: gold;
}
</style>
<table>
<thead>
<tr>
<th>ID</th>
<th>name</th>
</tr>
</thead>
<tbody>
{% for item in customer_list %}
<tr>
<td>{{ item.id }}</td>
<td>{{ item.caption }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<br>
<div class="pagination">
<nav>
{% if customer_list.has_previous %}
<span class="#"><a href="?p={{ customer_list.previous_page_number }}" aria-label="Previous"><span aria-hidden="true">«</span></a></span>
{% endif %}
{% for page_num in customer_list.paginator.page_range %}
{% guess_page customer_list.number page_num %}
{% endfor %}
{% if customer_list.has_next %}
<span class="#"><a href="?p={{ customer_list.next_page_number }}" aria-label="Next"><span aria-hidden="true">»</span></a></span>
{% endif %}
</nav>
</div>
4.自定义模板函数
app01/templatetags/custom_tags.py
from django import template
from django.utils.html import format_html
register=template.Library()
@register.filter
def _lower(val):
print('-----val',val)
return val.lower()
@register.simple_tag
def guess_page(current_page,loop_num):
offset=abs(current_page-loop_num)
if offset < 3:
if current_page == loop_num:
page_ele='<span class="active"><a href="?p=%s">%s</a></span>'%(loop_num,loop_num)
else:
page_ele='<span class=""><a href="?p=%s">%s</a></span>'%(loop_num,loop_num)
return format_html(page_ele)
else:
return ""
django【原生分页】的更多相关文章
- 第二十一章 Django的分页与cookie
第二十一章 Django的分页与cookie 第一课 模板 1.模板的继承 在Template目录下新建模板master.html <!DOCTYPE html> <html lan ...
- Python Django的分页,Form验证,中间件
本节内容 Django的分页 Form 中间件 1 Django 分页 1.1 Django自带的分页 1.首先来看下我的测试数据环境 ############ models.py ######### ...
- Django----列表分页(使用Django的分页组件)
目的:是为了实现列表分页 1.定制URL http://127.0.0.1:8000/blog/get_article?page=3之前定制URL是在url后增加了/id,这次使用参数的方式 def ...
- django原生sql查询如何返回字典格式
django原生sql查询,默认返回的是元祖.如果想返回字典格式,需要自行封装: http://www.360doc.com/content/17/0802/11/9200790_676042880. ...
- Django—自定义分页
分页功能在每个网站都是必要的,对于分页来说,其实就是根据用户的输入计算出应该显示在页面上的数据在数据库表中的起始位置. 确定分页需求: 1. 每页显示的数据条数 2. 每页显示页号链接数 3. 上一页 ...
- reverse(两种反向生成url django原生形式和rest_framework中版本的形式)
reverse(两种反向生成url django原生形式和rest_framework中版本的形式) views.py from django.shortcuts import render,Http ...
- 使用Ajax (put delete ) django原生CBV 出现csrf token解决办法
原因 django原生CBV中对于 Ajax put 或 delete 请求进行封装时,会把请求数据放在 request.body里, 所以获取不到csrf token 方式一: 关闭csrf 中间件 ...
- Django自定义分页并保存搜索条件
Django自定义分页并保存搜索条件 1.自定义分页组件pagination.py import copy class Pagination: def __init__(self, current_p ...
- Django DRF 分页
Django DRF 分页 分页在DRF当中可以一共有三种,可以通过setttings设置,也可也通过自定义设置 PageNumberPagination 使用URL http://127.0.0.1 ...
- django之分页,纯python代码
Django中分页 py文件代码 """ 自定义分页组件 可以返回分页的数据和分页的HTML代码 """ from django.http ...
随机推荐
- POSTGRESQL 9.1 FATAL: password authentication failed for user "postgres"
1.配置postgreql 可以远程访问: sudo vim /etc/postgresql/9.1/main/postgresql.conf root@ubuntuserver:~# sudo vi ...
- how to identify your .NET Framework version
scenario: when I try to install github-windows on my PC, got such error "lower .NET Framework V ...
- C++基础细节2
1.关于引用和指针 概念上,引用(&)并不是对象,而是一个已经存在的对象的别名:引用不可以重新绑定到另外一个对象,因此引用必须初始化.(类比const,一经定义就不能修改,所以必须初始化,是同 ...
- poj3041 Asteroids 匈牙利算法 最小点集覆盖问题=二分图最大匹配
/** 题目:poj3041 Asteroids 链接:http://poj.org/problem?id=3041 题意:给定n*n的矩阵,'X'表示障碍物,'.'表示空格;你有一把枪,每一发子弹可 ...
- Flow construction SGU - 176 有源汇有上下界最小流 二分法和回流法
/** 题目:Flow construction SGU - 176 链接:https://vjudge.net/problem/SGU-176 题意: 有源汇有上下界的最小流. 给定n个点,m个管道 ...
- css3学习笔记(一)
1. IE下的渐变: filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',endColorstr='# ...
- 圆角带箭头的提示框css实现
css是一个很强大的东西,很多网页效果,我们可以通过css直接实现.今天给大家分享的是一个用css实现的圆角带箭头的提示框. 效果如下图: 这一个样式主要涉及到了css的边框样式border的运用和定 ...
- HTML5 选择前置摄像头,选择后置摄像头
最近发现我写的都是乱七八糟的,觉得应该给大家带点福利,于是写了这篇 背景:最近想做个web应用,需要用到摄像头,但是发现默认一直是前置摄像头,拍照很麻烦,于是找了很多文章,居然没有人提到,只好FQ去找 ...
- 【BZOJ】3479: [Usaco2014 Mar]Watering the Fields(kruskal)
http://www.lydsy.com/JudgeOnline/problem.php?id=3479 这个还用说吗.... #include <cstdio> #include < ...
- CI和CD的意思
openstack中CI和CD的意思: 持续集成(CI)和持续交付(CD)