Django学习记录(0607-0613)
吐槽一下:
最近对Django很感兴趣,并且决定学习一下,大概是从4月份开始学习的,开始进度还不错,是按照计划走的,但五一假期的来临终结了我学习的历程,总结了一下有以下两点原因:1.玩了几天,感觉突然对前面学过的知识感到了陌生,还偶尔得去翻翻前面的视频,这是因为前面没有做系统的笔记;2.没有继续学习的动力,简而言之,懒得学。所以特地开了一个专栏来激励自己学习,并整理学习笔记来达到系统化笔记的效果。作者君的记录是从视频的第80P开始的哦!
学习视频网址:https://www.bilibili.com/video/BV1mW411G7g6
0607
学习主要内容:Djano的分页操作(视频20min+笔记10min)
Django自带分页组件
from django.core.paginator import Paginator,Page
def index(request):
current_page = request.GET.get('page') #url:/index/?page=1
user_list = models.UserInfo.objects.all()#数据库获取数据
paginator = Paginator(user_list,10) #每页显示10条数据
try:
posts = paginator.page(current_page)
except PageNotAnInteger as e:
posts = paginator.page(1)
except EmptyPage as e:
posts = paginator.page(1)
return render(request,'index.html',{'posts':posts})
Paginator参数:
# per_page: 每
# count: 数据总个数
# num_pages:总页数
# page_range:总页数的索引范围,如: (1,10),(1,200)
# page: page对象
Page参数:
# has_next 是否有下一页
# next_page_number 下一页页码
# has_previous 是否有上一页
# previous_page_number 上一页页码
# object_list 分页之后的数据列表
# number 当前页
# paginator paginator对象
对应的HTML页面(包含功能:页面展示,上一页,下一页,页数):
<h1>用户列表展示</h1>
<ul>
{% for row in posts.object_list %}
<li>{{row.name}}</li>
{% endfor %}
</ul>
<div>
<span>
{% if posts.has_previous %}
<a href="?page={{ posts.previous_page_number }}">上一页</a>
{% endif %}
<span class="current">
Page {{ posts.number }} of {{ posts.paginator.num_pages }}.
</span>
{% if posts.has_next %}
<a href="?page={{ posts.next_page_number }}">下一页</a>
{% endif %}
</span>
</div>
0608
学习主要内容:
报了一个体验课,课程内容如下,上了第一天的课程(晚8.00-10.00),前一个小时讲的都是很基础的内容和介绍,对于有编程基础的人来讲很鸡肋,收获就是没有收获,后一个小时简单的讲了一点点爬虫的内容,也很基础,希望明天的内容能充实一点,不要浪费彼此的时间
课程内容:
1、Python爬虫介绍
2、Requests介绍与安装
3、HTTP请求响应流程
4、大型网站数据接口分析
5、大型网站数据抓取实战
6、Django项目初始化与网站工程创建
7、Django应用初始化与网站子应用创建
8、Django路由系统详解与配置
9、Django HttpResponse方法与页面输出
10、Django render方法与页面渲染
11、Django admin后台管理系统介绍
12、利用爬虫实现收费资源获取
13、使用Django进阶技能完成开发项目
0609