知识库,总结在项目中实际使用的git命令,docker部署,mongodb,mysql等知识点
- [第一天:基础]
- [第二天:提升练习]
- [第三天:mysql与python交互]
- [第一天:安装/基础]
- [第二天:订阅]
-
[第一天:环境与创建项目]
- 环境搭建: virtualenv的安装与使用,pycharm中环境的配置 - Django概念: MVC模式/MVT模式 - 项目创建: 创建Django工程目录,创建应用app,使用admin管理后台 - admin管理后台:超级用户的创建,模型注册,模型中数据展示(list_display)、搜索(search_field)、过滤(list_filter)等
-
[第二天:模型]
- M模型:模型的定义,字段的定义,字段参数的定义。Meta元数据定义,定义表名称 - 数据库配置,pymysql驱动配置,数据迁移执行命令 - ORM对象关系映射概念:什么是ORM,ORM用于做什么? - 比较运算符,F/Q对象,限制结果集:contains,startswith,endswith,in,gt,gte,lt,lte,pk等 - 数据的查询,all,filter,get,first,last,values等 - 数据的创建:create(),对象save(),初始化模型再save() - 数据的更新:update(),对象save() - 数据的删除:delete()
-
[第三天:模型加餐/模板]
- 模型设计概念:一对一,一对多,多对多的模型定义 - 模型设计案例:学生和学生拓展表一对一模型设计,学生和课程表多对多模型设计,学生和班级一对多模型设计 - 模板1:在settings.py文件中静态static的配置定义,在页面中静态文件的加载 - 模板2:模板中逻辑运算符,if、ifequal、forloop、for empty等 - 模板3:父模板中定义block块和子模板中继承与调用父模板中block块 - 模板4:模板中注解,注解代码的可见与不可见,三种注解的区别 - 模板5:模板中定义修饰变量的过滤器,使用管道符‘|’,以及Django中过滤器的自定义
-
[第四天:视图1]
- URL的正则匹配与带参URL和不带参URL定义 - 带参URL的redirect跳转与参数传递,以及页面内中URL反向解析的定义 - Django中DEBUG为False和True的区别,以及当DEBUG为False时,静态文件解析与错误(403、404、500)视图的定义 - 请求与响应:请求中属性和方法,响应中属性和方法
-
[第五天:视图2]
- form表单:字段的定义、form中错误信息的重定义、页面中错误信息的展示 - 登录注册注销:django中如何快速的实现登录注册注销功能 - 什么是会话技术,什么是HTTP无状态协议,解决HTTP无状态协议的方案----> cookie + session - cookie的使用:如何设置cookie,删除cookie,如何设置失效 - session的使用:如何使用session,删除session,session中数据存储的时效。在Django中如何配置session,数据库中django_session表的使用 - 案例1:cookie和session实现的原理
-
[第六天:插件]
- 中间件middleware的工作原理,如何拦截各阶段的请求,重构拦截各阶段的方法 - 数据分页:掌握Paginator分页的工作原理,实现分页的方式 - 定义模型中上传文件字段,安装Pillow,定义上传文件的media路径,定义页面中如何解析media中上传图片 - 中间件案例1: 实现登录注册功能
-
[第七天:权限、角色]
- 如何拓展Django的User模型,并自定义相关的权限 - 权限系统中User模型、Group模型、Permission模型的ManyToManyFiled关联关系,以及数据的增、删、清空。 - 权限装饰器: permission_reqired('应用app.权限名') - 菜单控制:通过全局perms变量进行权限和菜单的控制
-
[第八天:日志/restful]
- setting.py中日志logging文件的配置,logging的四大组成,loggers,handlers,filters,formatters的处理流程,以及日志打印 - 架构设计指导原则,rest的核心定义,如何定义符合规范的api接口。资源、请求、状态码的理解。 - Django中restframework安装,settings.py中的定义,以及如何定义对资源的CRUD操作
-
[第九天:restframework2]
- 重构api响应结构,api中异常响应结构重构与定义 - 定义虚拟化serializer,验证每一个字段的错误信息,配置参数等
-
[第十天:restframework3]
- api返回数据的分页配置,过滤类的定义与配置 - 调用postman实现通过api对数据进行CRUD操作 - 总结drf中的视图、序列化器、过滤器等
-
[第十一天到十五天:项目]
-
[部署]
-
[拓展]
-
[第一天:HelloFlask]
- flask配置:微的定义,最小flask的web引用,虚拟环境搭建,安装flask - mvc概念,项目的符合MVC模式的拆分 - 项目运行管理:flask_script库使用,debug配置等 - 路由: 路由匹配规则 - 请求与响应:POST/GET请求传参,类字典的区别
-
[第二天:views]
- session/cookie概念与用法: - 1) flask默认使用cookie存储session的数据。 - 2)引入flask_session扩展库,实现使用数据库存储session中数据。 - 应用案例1:分别使用两种存储session数据方式实现模拟登陆功能,以及装饰器的定义使用 - 应用案例2:使用flask-login扩展库实现用户登录注销功能 - 基础模板的定义,模板的继承,挖坑以及填坑。宏定义 - 模板中逻辑控制,过滤器,以及静态static的配置
-
[第三天:models初窥]
- 模型的定义,数据库的创建,学生模型CRUD操作 - 深入数据库的增删改查,查询数据filter和filter_by - 运算符--contains、startswith、__gt__等 - 筛选--offset、limit、get、first、paginate等 - 逻辑运算符--and_、or_、not_ - 模型之间的一对多的关联关系的定义
-
[第四天:models关系与其他]
- 模型之间的多对多的关联关系的定义,多对多的数据的CRUD - 钩子函数: before_request, after_request, teardown_request - 应用上下文g对象 - 应用案例1: 钩子函数+g对象的使用,实现pymysql连接MySQL,并执行查询操作 - 应用案例2: flask-wtf的form表单的使用
-
[第五天:扩展]
- 登录注册: 使用第三方flask-login库实现登录注册,登录验证等 - 文件上传: form表单提交上传图片进行保存 - 拓展库的使用:debugtoolbar,flask_restful - 应用案例1: 登录、注册、登录验证 - 应用案例2: 邮件发送
-
[第六天到第10天:项目]
-
[Flask和Django区别]
-
[第一天:爬虫]
- 概念:爬虫的由来/用来做什么 - 数据采集与分析:urllib/requests/bs4/mongodb/mysql/redis等 - 请求头-反爬虫:User-Agent,Accept,Accept-Language等 - 百度搜索:中文的编码解码 - ssl: ssl认证 - 应用案例1:urllib获取百度首页源代码,其中User-Agent的使用 - 应用案例2:爬去智联上某工作某地点的岗位个数 - 作业1:爬取智联上某工作某地点的工作名称,公司等信息 - 作业2:爬取格言网(https://www.geyanw.com/)上的某一个模块的名言警句 - 作业3:爬取搜狗图片中的新垣结衣的图片
-
[第二天:数据采集]
- 爬取工具:requests使用、bs4使用、urllib使用 - xpath语法、re正则表达式语法 - 应用案例1:获取豆瓣电影中动态加载电影资源信息 - 应用案例2:爬取知乎发现里面的提问的链接数,和链接地址
-
[第三天:多线程爬虫]
- 概念:线程、进程、同步、异步、并发、阻塞、非阻塞、并发、并行 - 进程、线程概念:多线程定义,守护线程,线程启动 - 线程锁 - 应用案例1:I/O密集型,计算密集型的单线程多线程对比
-
[第四天:协程/数据持久化]
- 迭代器、生成器的原理概念、斐波那契的实现 - 协程的概念,原理,生产者-消费者的实现 - 数据持久化,redis安装配置、缓存,mongodb安装配置、语法、缓存 - aiohttp:异步非阻塞的
-
[第五天:动态解析]
- 动态内容分析: 什么是动态内容,分析豆瓣的动态内容加载 - javascript逆向,selenium自动化测试框架 - 应用案例1: 使用selenium模拟登陆知乎 - 应用案例2: 使用selenium解析豆瓣电影信息
-
[第六天:验证]
- 模拟登陆:请求url分析,请求参数分析,模拟登陆状态保持 - form模拟登陆、验证码
-
[第七天--第十天]
- scrapy框架组件,处理流程,数据持久化 - scrapy项目环境搭建,创建项目命令,执行启动操作,各相关文件的处理逻辑 - scrapy_redis分布式爬虫原理 - 案例1:爬取起点小说网的小说分类,以及分类的url - 案例2:爬取豆瓣电影的信息,并使用mongodb持久化 - 案例3:爬取链家房源信息,并存储在csv文件 - 案例4:爬取微博大V的粉丝数,关注,博客等信息