分页器
批量插入
当你想要批量插入数据的时候,使用orm给你提供的bulk_create能够大大的减少操作时间
user_list= [ ]
for i in range( 100000 ):
user_list . append( models.User(title = '%s ' %i) )
models.User.object.bulk_create( user_list )
自己写一个分页器
1queryset对象是支持切片操作的
2用户到底要访问哪一页
current_page = request.GET.get( 'page' )
3每一页展示多少条数据
4切片的起始位置和终止位置
start_page
end_page
5当前数据的总条数
book_queryset.count( )
6如何搞定总共多少页才能展示所有的数据
利用Python内置函数divmod()
7前端模板语法是没有range功能的
前端代码不一定非要在前端书写,也可以在后端生成传递给页面
8针对需要展示的页码需要你自己规划好到底展示多少个页码
一般情况下页码的设计都是基数(符合审美标准)
9针对页码小于6的情况,你需要做处理,不能最减
自定义分页器拷贝及使用
当我们需要使用到非django内置第三方功能或者组件代码的时候
我们一般情况下会创建一个名为utils文件夹,在该文件夹内对模块进行功能性划分
utils可以在每个应用下创建,集体结合实际情况
我们自定义的分页器是基于bootstrap样式来的,所以你需要提前导入bootstrap
bootstrap 版本v3
jQuery 版本v3
封装代码的思路
1先用最粗糙的代码完成功能
2在功能完成的基础上最去思考优化
先由面条封装成函数
最看看能不能封装成面向对象
并不是说一定要封装成面向对象的形式,要看情况