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
随机推荐
- Servlet(二)----注解配置
## Servlet3.0 * 好处: * 支持注解配置.可以不需要web.xml了. * 步骤: 1.创建JavaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml 2. ...
- CF1327C Game with Chips 题解
原题链接 简要题意: 每个点有起始目标和终点(二维).要求每次将所有点向一个方向移动一次(四方向,若出界则不变),使得每个点均 经过 其终点. 本题只要抓住本质,瞬间得解. 你会发现,如果要求每个点最 ...
- O3优化模板
#pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #pragma GCC ...
- mac下 yarn Stack trace: ExitCodeException exitCode=127
问题出在hadoop 为mac系统配置的读取java_home处. 更改 /Users/shaofengfeng/apache/hadoop/libexec/hadoop-config.sh 如下 # ...
- Java 添加、删除Excel表单控件
通过表单控件,用户可以快速地将数据填写到模板文档中,轻松引用单元格数据并与其进行交互.本文通过Java代码示例介绍如何在Excel表格中添加表单控件,包括文本框.单选按钮.复选框.组合框.微调按钮等: ...
- LightOj 1197 Help Hanzo 区间素数筛
题意: 给定一个区间a,b,a-b>=100000,1<=a<=b<=231,求出给定a,b区间内的素数的个数 区间素数筛 (a+i-1)/ ii向上取整,当a为 i 的整数倍 ...
- 线程 -- ThreadLocal
1,ThreadLocal 不是“本地线程”的意思,而是Thread 的局部变量.每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本 2, ...
- vue+cordova实现退出app效果
//vue钩子函数created方法中添加监听等待设备API库加载好 created(){ var that = this; document.addEventListener("devic ...
- Java数据结构与排序
一.引子:想要给ArrayList排序却发现没有排序方法?你有两种选择: 1.换用TreeSet: 2.使用Collection.sort(List<T> list) ...
- 数据源管理 | 基于JDBC模式,适配和管理动态数据源
本文源码:GitHub·点这里 || GitEE·点这里 一.关系型数据源 1.动态数据源 动态管理数据源的基本功能:数据源加载,容器维护,持久化管理. 2.关系型数据库 不同厂商的关系型数据库,提供 ...