Django系列操作
每次用到都去百度找....找的还不行~~得自己改~~耗时耗力虽然不难~~~直接贴代码记录下方便自己用~~~~
Django之分页
定义成一个块,直接引用到对应的位置即可。。。
<div class="container">
<nav aria-label="Page navigation">
<ul class="pagination"> <!--上一页-->
<li class="{% if not page_info.page.has_previous %}disabled{% endif %}">
{% if page_info.page.has_previous %}
<a href="{{ url }}?page={{ page_info.page.previous_page_number }}" aria-label="Previous">
{% endif %}
<span aria-hidden="true">«</span>
</a>
</li> <!--页码-->
<!--这里展示页码使用传递过来的dis_range -->
{% for num in page_info.dis_range %}
<li class="{% if num == page_info.page.number %}active{% else %}{% endif %}" >
<a href="{{ url }}?page={{ num }}">{{ num }}</a>
</li>
{% endfor %} <!--下一页-->
<li class="{% if not page_info.page.has_next %}disabled{% endif %}">
{% if page_info.page.has_next %}
<a href="{{ url }}?page={{ page_info.page.next_page_number }}" aria-label="Next">
{% endif %}
<span aria-hidden="true">»</span>
</a>
</li> </ul>
</nav>
</div>
前端代码
直接将下面代码复制,然后调用方法,传入的参数必须为可迭代对象。
- data["page"]为内容
- data为页码

def create_page(request, object_list, per_page=20):
''' :param request:
:param obj_list:
:param page_shows: 每页显示多少数据
:return:
'''
paginator = Paginator(object_list, per_page)
# 取出当前需要展示的页码, 默认为1
page_num = request.GET.get('page', default='')
# 根据页码从分页器中取出对应页的数据
try:
page = paginator.page(page_num)
except PageNotAnInteger as e:
# 不是整数返回第一页数据
page = paginator.page('')
page_num = 1
except EmptyPage as e:
# 当参数页码大于或小于页码范围时,会触发该异常
print('EmptyPage:{}'.format(e))
if int(page_num) > paginator.num_pages:
# 大于 获取最后一页数据返回
page = paginator.page(paginator.num_pages)
else:
# 小于 获取第一页
page = paginator.page(1) # 这部分是为了再有大量数据时,仍然保证所显示的页码数量不超过10,
page_num = int(page_num)
if page_num < 6:
if paginator.num_pages <= 10:
dis_range = range(1, paginator.num_pages + 1)
else:
dis_range = range(1, 11)
elif (page_num >= 6) and (page_num <= paginator.num_pages - 5):
dis_range = range(page_num - 5, page_num + 5)
else:
dis_range = range(paginator.num_pages - 9, paginator.num_pages + 1)
data = {
"page": page,
"paginator": paginator,
"dis_range": dis_range,
}
return data
Python代码
Django之请求时获取数组
不经常用.....每次用就想不起来~~百度的方式也要百度几次才能找到合适的答案
item_list = request.GET.getlist("item_list[]")
# 为什么要加这个[]?因为我用的是ajax的请求方式,ajax会自动在后面添加一个[],form提交方式不需要。
生成requirements.txt文件
在Pycharm中>打开Django项目>打开Terminal框>输入下面命令,即可!
pip3 freeze > requirements.txt # 生成 pip3 install -r requirements.txt # 安装命令
定时任务
更新中.................
Django系列操作的更多相关文章
- Django 系列博客(十三)
Django 系列博客(十三) 前言 本篇博客介绍 Django 中的常用字段和参数. ORM 字段 AutoField int 自增列,必须填入参数 primary_key=True.当 model ...
- Django 系列博客(十一)
Django 系列博客(十一) 前言 本篇博客介绍使用 ORM 来进行多表的操作,当然重点在查询方面. 创建表 实例: 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日 ...
- Django 系列博客(十)
Django 系列博客(十) 前言 本篇博客介绍在 Django 中如何对数据库进行增删查改,主要为对单表进行操作. ORM简介 查询数据层次图解:如果操作 mysql,ORM 是在 pymysql ...
- Django 系列博客(八)
Django 系列博客(八) 前言 本篇博客介绍 Django 中的模板层,模板都是Django 使用相关函数渲染后传输给前端在显式的,为了想要渲染出我们想要的数据,需要学习模板语法,相关过滤器.标签 ...
- Django 系列博客(四)
Django 系列博客(四) 前言 本篇博客介绍 django 如何和数据库进行交互并且通过 model 进行数据的增删查改 ORM简介 ORM全称是:Object Relational Mappin ...
- Django 系列博客(二)
Django 系列博客(二) 前言 今天博客的内容为使用 Django 完成第一个 Django 页面,并进行一些简单页面的搭建和转跳. 命令行搭建 Django 项目 创建纯净虚拟环境 在上一篇博客 ...
- Django 系列博客(一)
Django 系列博客(一) 前言 学习了 python 这么久,终于到了Django 框架.这可以说是 python 名气最大的web 框架了,那么从今天开始会开始从 Django框架的安装到使用一 ...
- Django系列目录
一:搭建自己的博客系列 搭建自己的博客(一):前期准备 搭建自己的博客(二):创建表,创建超级用户 搭建自己的博客(三):简单搭建首页和详情页 搭建自己的博客(四):优化首页和详情页 搭建自己的 ...
- Django models 操作高级补充
Django models 操作高级补充 字段参数补充: 外键 约束取消 ..... ORM中原生SQL写法: raw connection extra
随机推荐
- spring最核心思想--ioc控制反转
一核心概念 控制反转:将bean的生成交给容器,程序可以从容器中获取指定的bean. 个人理解:此优势也是spring能够流行并成为java主流框架的主要原因,java是帮助java程序员以对象的方式 ...
- Android之练习MVVM+DataBinding框架模式
最近简单学习了MVVM框架,记录一下. 结果演示: 分析其功能在不同框架下的构成: 无框架 可以明显感受到在无框架下,虽然一个单独的Activity即可实现功能,但其负担过重,代码复查时繁琐,一旦需要 ...
- SimpleITK 和 Nibabel 读取医学图像 nii 数据(2D显示)
SimpleITK 和 Nibabel 区别在于:(nii图像可以看成2维,也可以看成三维) SimpleITK读取数据是(X,Y,Z)显示,Nibabel读取图像是(Z,Y,X)显示,也就是Niba ...
- Python库的安装方式
Python库的安装方式 1.Python库的自定义安装——找到相应网站,下载安装 示例:pywin32库安装 .exe,直接双击,自动识别安装目录 安装就可以了. 载入成功 2.Python库的工具 ...
- 大流量大负载的Kafka集群优化实战
前言背景 算法优化改版有大需求要上线,在线特征dump数据逐步放量,最终达到现有Kafka集群5倍的流量,预计峰值达到万兆网卡80%左右(集群有几十个节点,网卡峰值流出流量800MB左右/sec.写入 ...
- Mysql 截取字符串总结
MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...
- el-table分页展示数据
<el-table :data="tableData.slice((currentPage-1)*pageSize,currentPage*pageSize)" :show- ...
- python学习之由
2019python之年: 2019是个挫折之年,但又是幸运之年,这一年创业遭遇滑铁卢,几与破产,充满着迷茫,路在何方?? 开始接触python是在微信朋友圈,结缘于广告,觉得很有意思,但一直没有深入 ...
- 记一次Task抛异常,调用线程处理而引发的一些随想
记一次Task抛异常,调用线程处理而引发的一些随想 多线程调用,任务线程抛出异常如何在另一个线程(调用线程)中捕获并进行处理的问题. 1.任务线程在任务线程执行语句上抛出异常. 例如: private ...
- 码云客户端Gitee使用1上传项目
目前主流的源码仓库有GitHub,这是微软公司的全球最大的代码仓库.里面有来自全世界开发者提供的开源项目或者个人私有项目.它分为个人免费与企业收费两种模式,对于个人学习或者项目开发小组来说个人免费版完 ...