资料目录:
├─1-高级编程技巧
│ ├─00-开班典礼
│ │ 00-开班典礼.mkv
│ │
│ ├─01-第一讲-深入类与对象
│ │ 01-01-鸭子类型与多态.mkv
│ │ 01-02-抽象基类.mkv
│ │ 01-03-type与isinstance.mkv
│ │ 01-04-多继承.mkv
│ │ 01-05-Python自省机制.mkv
│ │ 01-06-super函数.mkv
│ │ 01-07-总结.mkv
│ │
│ ├─02-第二讲-类与对象深度问题解决技巧
│ │ 02-01-派生内置内.mkv
│ │ 02-02-内存消耗.mkv
│ │ 02-03-上下文管理器.mkv
│ │ 02-04-@property.mkv
│ │ 02-05-类的比较.mkv
│ │
│ ├─03-第三讲-垃圾回收及性能调试
│ │ 03-01-弱引用.mkv
│ │ 03-02-hasattr方法与map方法.mkv
│ │ 03-03-垃圾回收01.mkv
│ │ 03-04-垃圾回收02.mkv
│ │ 03-05-垃圾回收03.mkv
│ │ 03-06-性能调试.mkv
│ │ 03-07-经典参数错误.mkv
│ │
│ ├─04-第四讲-元类及迭代器生成器
│ │ 04-01-getattr与getattribute.mkv
│ │ 04-02-属性描述符.mkv
│ │ 04-03-元类.mkv
│ │ 04-04-元类创建与继承.mkv
│ │ 04-05-metaclass指定.mkv
│ │ 04-06-迭代器.mkv
│ │ 04-07-生成器.mkv
│ │ 04-08-元类复习.mkv
│ │
│ ├─05-第五讲-网络编程基础及upd发送接收数据
│ │ 05-01-前导知识.mkv
│ │ 05-02-网线联网.mkv
│ │ 05-03-以太网与广域网.mkv
│ │ 05-04-端口.mkv
│ │ 05-05-socket套接字.mkv
│ │ 05-06-udp发送数据.mkv
│ │ 05-07-接收数据.mkv
│ │ 05-08-综合练习.mkv
│ │
│ ├─06-第六讲-TCP传输数据
│ │ 06-01-TCP与UDP介绍.mkv
│ │ 06-02-TCP与UDP通信.mkv
│ │ 06-03-TCP客户端.mkv
│ │ 06-04-TCP服务端.mkv
│ │ 06-05-TCP代码优化.mkv
│ │ 06-06-文件传输.mkv
│ │ 06-07-复习.mkv
│ │
│ ├─07-第七讲-多任务――线程
│ │ 07-01-线程的创建.mkv
│ │ 07-02-常用方法.mkv
│ │ 07-03-查看线程数量.mkv
│ │ 07-04-创建与启动子线程.mkv
│ │ 07-05-继承Thread类创建线程.mkv
│ │ 07-06-多线程共享全局变量.mkv
│ │ 07-07-多线程传参.mkv
│ │ 07-08-资源抢占.mkv
│ │ 07-09-复习.mkv
│ │
│ ├─08-第八讲-多任务――进程与线程
│ │ 08-01-互斥锁.mkv
│ │ 08-02-死锁与重入锁.mkv
│ │ 08-03-线程同步.mkv
│ │ 08-04-多线程聊天器.mkv
│ │ 08-05-进程的创建.mkv
│ │ 08-06-进程与线程的区别.mkv
│ │ 08-07-复习.mkv
│ │
│ ├─09-第九讲-多任务――进程
│ │ 09-01-队列基本操作.mkv
│ │ 09-02-进程间的通信.mkv
│ │ 09-03-进程池.mkv
│ │ 09-04-进程池通信.mkv
│ │ 09-05-文件下载.mkv
│ │ 09-06-复习.mkv
│ │
│ ├─10-第十讲-多任务――协程
│ │ 10-01-协程介绍.mkv
│ │ 10-02-yield实现协程及扩展.mkv
│ │ 10-03-yield-from实现.mkv
│ │ 10-04-greenlet实现.mkv
│ │ 10-05-gevent实现.mkv
│ │ 10-06-await与async.mkv
│ │ 10-07-对比及总结.mkv
│ │
│ └─上课代码.zip
│
│
├─2-数据库优化
│ ├─01.第一讲-数据库介绍以及环境搭建
│ │ 01-01-数据库的介绍.mkv
│ │ 01-02-mysql介绍与安装.mkv
│ │ 01-03-sql语句基础.mkv
│ │ 01-04-DDL上.mkv
│ │ 01-05-DDL下.mkv
│ │ 01-06-复习.mkv
│ │
│ ├─02.第二讲-数据的增删改查
│ │ 02-01-修改表字段.mkv
│ │ 02-02-插入表数据.mkv
│ │ 02-03-修改删除数据.mkv
│ │ 02-04-简单查询语句.mkv
│ │ 02-05-条件查询语句.mkv
│ │ 02-06-常用聚合函数.mkv
│ │ 02-07-复习.mkv
│ │
│ ├─03.第三讲-查询语句下
│ │ 03-01-上节课总结.mkv
│ │ 03-02-分组以及分组后的筛选.mkv
│ │ 03-03-排序.mkv
│ │ 03-04-limit限制.mkv
│ │ 03-05-表连接.mkv
│ │ 03-06-子查询.mkv
│ │ 03-07-复习.mkv
│ │
│ ├─04.第四讲-Python连接数据库
│ │ 04-01-自关联.mkv
│ │ 04-02-外键.mkv
│ │ 04-03-准备数据.mkv
│ │ 04-04-python操作mysql.mkv
│ │ 04-05-复习.mkv
│ │
│ ├─05.第五讲-Python连接数据库02
│ │ 05-01-异常捕获.mkv
│ │ 05-02-实现DB类.mkv
│ │ 05-03-实现商品查询类.mkv
│ │ 05-04-修改数据提交事务.mkv
│ │ 05-05-完善商品查询类.mkv
│ │ 05-06-视图.mkv
│ │
│ ├─06.第六讲-MySQL高级
│ │ 06-1-事务的介绍&事务的特性.mkv
│ │ 06-2-事务的状态和命令.mkv
│ │ 06-3-事务中的保存点.mkv
│ │ 06-4-事务练习-模拟银行转账.mkv
│ │ 06-5-索引的介绍和基本使用.mkv
│ │ 06-6-索引案例&建立索引情况.mkv
│ │ 06-7-MySQL-账户管理.mkv
│ │ 06-8-课堂复习.mkv
│ │
│ ├─07.第七讲-MySQL存储引擎&基准测试
│ │ 07-1-事务隔离级别(补充).mkv
│ │ 07-2-数据库存储引擎介绍.mkv
│ │ 07-3-MySQL引擎之MyISAM.mkv
│ │ 07-4-MySQL引擎之InnoDB.mkv
│ │ 07-5-MySQL引擎之CSV.mkv
│ │ 07-6-MySQL引擎之Memory.mkv
│ │ 07-7-MySQL基准测试.mkv
│ │ 07-8-课堂复习.mkv
│ │
│ ├─08.第八讲-explain分析SQL语句&索引优化
│ │ 08-1-影响服务器性能的几个方面.mkv
│ │ 08-2-explain字段解释(上).mkv
│ │ 08-3-explain字段解释(中).mkv
│ │ 08-4-explain字段解释(下).mkv
│ │ 08-5-索引补充.mkv
│ │ 08-6-索引优化(上).mkv
│ │ 08-7-课堂复习.mkv
│ │
│ ├─09.第九讲-索引优化&分析SQL语句
│ │ 09-1-索引优化(上).mkv
│ │ 09-2-索引优化(下).mkv
│ │ 09-3-Show Profile进行SQL分析.mkv
│ │ 09-4-trace分析SQL优化器.mkv
│ │ 09-5-索引优化案例-单表.mkv
│ │ 09-6-索引优化案例-双表.mkv
│ │ 09-7-课堂复习.mkv
│ │
│ ├─10.第十讲-join、排序、分页优化&慢查询日志
│ │ 10-1-join语句的优化.mkv
│ │ 10-2-排序优化.mkv
│ │ 10-3-分页查询优化.mkv
│ │ 10-4-慢查询日志.mkv
│ │ 10-5-MySQL函数和存储过程.mkv
│ │
│ ├─11.第十一讲-数据库锁&分区表
│ │ 11-1-MySQL整体优化思路.mkv
│ │ 11-2-表锁(偏读).mkv
│ │ 11-3-行锁(偏写).mkv
│ │ 11-4-间隙锁.mkv
│ │ 11-5-MySQL分区-RANGE分区.mkv
│ │ 11-6-MySQL分区-HASH&LISA分区.mkv
│ │ 11-7-MySQL分区-补充.mkv
│ │
│ ├─12.第十二讲-MySQL主从复制&阶段复习
│ │ 12-1-主从复制配置(上).mkv
│ │ 12-2-主从配置测试.mkv
│ │ 12-3-MySQL操作规范.mkv
│ │ 12-4-阶段复习-1.mkv
│ │ 12-5-阶段复习-2.mkv
│ │
│ └─上课代码.zip
│
│
├─3-项目前导知识
│ │
│ ├─01.第一讲-操作系统和Linux基础命令
│ │ 01-1-操作系统介绍.mkv
│ │ 01-2-Ubuntu操作系统安装.mkv
│ │ 01-3-Linux内核及发行版.mkv
│ │ 01-4-查看目录命令.mkv
│ │ 01-5-切换目录命令.mkv
│ │ 01-6-创建、删除文件及目录命令.mkv
│ │ 01-7-复制、移动文件及目录命令.mkv
│ │ 01-8-查看命令帮助.mkv
│ │
│ ├─02.第二讲-Linux基础命令和高级命令
│ │ 02-1-ls命令选项.mkv
│ │ 02-2-mkdir和rm&cp和mv命令选项.mkv
│ │ 02-3-重定向命令.mkv
│ │ 02-4-查看文件内容命令.mkv
│ │ 02-5-硬链接&软链接.mkv
│ │ 02-6-文本搜索命令.mkv
│ │ 02-7-课堂复习.mkv
│ │
│ ├─03.第三讲-Linux高级命令
│ │ 03-1-查找文件命令.mkv
│ │ 03-2-压缩和解压缩命令.mkv
│ │ 03-3-文件权限命令.mkv
│ │ 03-4-获取管理员权限的相关命令.mkv
│ │ 03-5-用户相关操作.mkv
│ │ 03-6-用户组相关操作.mkv
│ │ 03-7-软件安装.mkv
│ │
│ ├─04.第四讲-Redis介绍和Redis-String类型
│ │ 04-1-数据库的发展历史.mkv
│ │
│ ├─05.第五讲-Redis数据类型
│ │ 05-1-Redis-List类型.mkv
│ │ 05-2-Redis-List应用场景.mkv
│ │ 05-3-Redis-Hash类型&使用场景.mkv
│ │ 05-4-Redis-Set类型.mkv
│ │ 05-5-Redis-Zset类型.mkv
│ │ 05-6-Python操作Redis.mkv
│ │ 05-7-课堂复习.mkv
│ │
│ ├─06.第六讲-Redis进阶
│ │ 06-1-Redis主从配置.mkv
│ │ 06-2-Redis 持久化-RDB.mkv
│ │ 06-3-Redis持久化-AOF.mkv
│ │ 06-4-Redis中的事务.mkv
│ │ 06-5-Redis管道技术-Pipeline.mkv
│ │ 06-6-查询附近的人-GEO.mkv
│ │ 06-7-课堂复习.mkv
│ │
│ ├─07.第七讲-Redis进阶和Git介绍
│ │ 07-1-基数统计算法-HyperLogLog.mkv
│ │ 07-2-布隆过滤器.mkv
│ │ 07-3-缓存雪崩&缓存穿透&缓存击穿.mkv
│ │ 07-4-Redis性能测试.mkv
│ │ 07-5-Redis慢查询.mkv
│ │ 07-6-哨兵模式.mkv
│ │ 07-7-Git介绍.mkv
│ │ 07-8-课堂复习.mkv
│ │
│ ├─08.第八讲-Git使用和GitHub介绍
│ │ 08-1-Git介绍&安装.mkv
│ │ 08-2-Git管理文件.mkv
│ │ 08-3-Git重命名文件&Git三大区域.mkv
│ │ 08-4-Git版本回滚.mkv
│ │ 08-5-初始分支&创建分支.mkv
│ │ 08-6-分支的合并&解决冲突.mkv
│ │ 08-7-GitHub简单使用.mkv
│ │
│ ├─09.第九讲-Gitflow工作流
│ │ 09-1-GitHub推送&拉取代码.mkv
│ │ 09-2-解决推送代码到码云输入账号密码.mkv
│ │ 09-3-解决忘记推送代码.mkv
│ │ 09-4-rebase使用介绍.mkv
│ │ 09-5-Gitflow工作流介绍.mkv
│ │ 09-6-多人协同开发邀请成员.mkv
│ │ 09-7-多人协同开发-review&功能上线.mkv
│ │ 09-8-Gitflow工作流总结.mkv
│ │
│ ├─10.第十讲-Git补充和Vue初体验
│ │ 10-1-Git补充.mkv
│ │ 10-2-vscode介绍.mkv
│ │ 10-3-Vue的介绍和基本使用.mkv
│ │ 10-4-Vue模板语法(上).mkv
│ │ 10-5-Vue属性绑定class&style.mkv
│ │ 10-6-使用JavaScript表达式&条件判断.mkv
│ │
│ ├─11.第十一讲-Vue模板语法
│ │ 11-1-常见问题总结.mkv
│ │ 11-2-v-show&v-if区别.mkv
│ │ 11-3-v-on补充&计数器.mkv
│ │ 11-4-循环数组&对象.mkv
│ │ 11-5-状态保持&触发视图更新.mkv
│ │ 11-6-event参数.mkv
│ │ 11-7-课堂复习.mkv
│ │
│ ├─12.第十二讲-计算属性和监听属性和表单输入绑定
│ │ 12-1-计算属性.mkv
│ │ 12-2-监听属性.mkv
│ │ 12-3-表单输入绑定.mkv
│ │ 12-4-修饰符.mkv
│ │ 12-5-自定义组件的基本使用.mkv
│ │ 12-6-局部组件&组件的注意点.mkv
│ │ 12-7-课堂复习.mkv
│ │
│ ├─13.第十三讲-组件和生命周期和案例
│ │ 13-1-给组件添加属性.mkv
│ │ 13-2-子组件事件和传递事件到父组件.mkv
│ │ 13-3-自定义组件v-model.mkv
│ │ 13-4-插件的基本使用.mkv
│ │ 13-5-Vue生命周期函数.mkv
│ │ 13-6-图书管理系统(上).mkv
│ │ 13-7-图书管理系统(下).mkv
│ │
│ ├─14.第十四讲-Vue网络应用和阶段复习
│ │ 14-1-过滤器.mkv
│ │ 14-2-Vue网络应用.mkv
│ │ 14-3-阶段复习-Linux.mkv
│ │ 14-4-阶段复习-Redis.mkv
│ │ 14-5-阶段复习-Git.mkv
│ │
│ └─上课资料.zip
│
├─4-flask框架
│ │
│ ├─01.第一讲-flask简介&URL和视图简介
│ │ 01-01-虚拟环境.mkv
│ │ 01-02-flask简介和第一个flask程序.mkv
│ │ 01-03-设置为debug模式.mkv
│ │ 01-04-配置文件.mkv
│ │ 01-05-URl和视图.mkv
│ │ 01-上课复习.mkv
│ │
│ ├─02.第二讲-flask视图&模板简介
│ │ 02-01-url_for.mkv
│ │ 02-02-HTTP的请求方法.mkv
│ │ 02-03-网页跳转和重定向.mkv
│ │ 02-04-response类型.mkv
│ │ 02-05-flask模板介绍.mkv
│ │ 02-06- flask模板传参.mkv
│ │ 02-课堂复习.mkv
│ │
│ ├─03.第三讲-flask模板知识介绍
│ │ 03-01-jinja2模板过滤器.mkv
│ │ 03-02-jinja2模板过滤器下.mkv
│ │ 03-03-自定义模板过滤器.mkv
│ │ 03-04-空值语句.mkv
│ │ 03-05-宏和import语句.mkv
│ │ 03-课堂复习.mkv
│ │
│ ├─04.第四讲-模板继承和豆瓣案例
│ │ 04-03-01- include语句和set语句.mkv
│ │ 04-03-02-模板继承.mkv
│ │ 04-03-03-加载静态资源文件.mkv
│ │ 04-03-04-豆瓣案例.mkv
│ │ 04-03-课堂复习.mkv
│ │
│ ├─05.第五讲-高级视图
│ │ 05-01-豆瓣项目.mkv
│ │ 05-02-标准类视图.mkv
│ │ 05-02-标准类视图的使用.mkv
│ │ 05-课后复习.mkv
│ │
│ ├─06.第六讲-flask蓝图和子域名
│ │ 06-01-基于调度方法的视图.mkv
│ │ 06-02-flask蓝图的基本使用.mkv
│ │ 06-03-flask蓝图寻找模板文件.mkv
│ │ 06-04-flask蓝图中寻找静态文件.mkv
│ │ 06-05-url_for.mkv
│ │ 06-06-flask实现子域名.mkv
│ │ 06-课堂复习.mkv
│ │
│ ├─07.第七讲-SQLAlchemy
│ │ 07-01-数据库的介绍.mkv
│ │ 07-02-安装数据库上.mkv
│ │ 07-03-mysql安装下.mkv
│ │ 07-04-sqlalchemy连接数据库.mkv
│ │ 07-课后复习.mkv
│ │
│ ├─08.第八讲-SQLAlchemy-orm
│ │ 08-01-SQLAlchemy_ORM介绍.mkv
│ │ 08-02-Flask-ORM添加数据.mkv
│ │ 08-03-flask―orm数据增删改查.mkv
│ │ 08-04-sqlalchemy常用数据类型.mkv
│ │ 08-05-Column的常用参数与聚合函数.mkv
│ │ 08-课堂复习.mkv
│ │
│ ├─09.第九讲-SQLAlchemy-orm
│ │ 09-01-Flask数据库过滤条件.mkv
│ │ 09-02-flask数据库模型建立外键关系.mkv
│ │ 09-03-flask外键约束.mkv
│ │ 09-04-Flask数据库表关系-一对多.mkv
│ │ 09-课堂复习.mkv
│ │
│ ├─10.第十讲-sqlalchemy-orm
│ │ 10-01-Flask数据表关系-一对一.mkv
│ │ 10-02-flask数据库表关系-多对多.mkv
│ │ 10-03-数据库排序.mkv
│ │ 10-04- limit&offset和切片.mkv
│ │ 10-05-高级查询和子查询.mkv
│ │ 10-课后复习.mkv
│ │
│ ├─11.第十一讲-orm&flask-wtf基本使用
│ │ 11-01-flask-sqlalchemy插件.mkv
│ │ 11-02-flask-script.mkv
│ │ 11-03-Flask-Migrate.mkv
│ │ 11-04- flask表单验证.mkv
│ │
│ ├─12.第十二讲-wtf&文件上传
│ │ 12-01-flask_migrate复习.mkv
│ │ 12-02-flask-wtf常用的验证器.mkv
│ │ 12-03-文件上传(上).mkv
│ │ 12-04- 文件上传(下).mkv
│ │ 12-05-cookie的基本使用.mkv
│ │
│ ├─13.第十三讲-session&上下文管理
│ │ 13-01-框架对比.mkv
│ │ 13-02-session的使用.mkv
│ │ 13-03- flask上下文.mkv
│ │ 13-04-常用的钩子函数.mkv
│ │ 13-05-restful-api.mkv
│ │
│ ├─14.第十四讲-restful讲解
│ │ 14-01-Flask-restful.mkv
│ │ 14-02-flask-restful复杂结构数据返回.mkv
│ │ 14-flask重点知识复习.mkv
│ │
│ └─上课代码.zip
│
├─5-flask项目
│ │
│ ├─01.第一讲-项目搭建
│ │ 01-1-项目需求分析.mkv
│ │ 01-2-项目架构设计.mkv
│ │ 01-3-虚拟环境创建.mkv
│ │ 01-4-项目入口文件.mkv
│ │ 01-5-项目文件拆分.mkv
│ │
│ ├─02.第二讲-项目配置
│ │ 02-1-项目拆分.mkv
│ │ 02-2-项目日志配置.mkv
│ │ 02-3-配置前端静态文件.mkv
│ │ 02-4-数据库设计.mkv
│ │
│ ├─03.第三讲-图形验证码和容联云平台介绍
│ │ 03-1-课前问题总结.mkv
│ │ 03-2-CSRF验证.mkv
│ │ 03-3-图形验证码逻辑分析.mkv
│ │ 03-4-图形验证码的接口定义.mkv
│ │ 03-5-接口定义&图片验证码前端JS.mkv
│ │ 03-6-容联云平台介绍.mkv
│ │
│ ├─04.第四讲-短信验证码及注册接口定义
│ │ 04-1-封装发送短信单例类.mkv
│ │ 04-2-短信验证码接口设计.mkv
│ │ 04-3-短信验证码后端逻辑实现.mkv
│ │ 04-4-避免频繁发送短信验证码.mkv
│ │ 04-5-Redis中的管道.mkv
│ │ 04-6-用户注册接口实现.mkv
│ │
│ ├─05.第五讲-celery使用及登录接口定义
│ │ 05-1-用户注册密码加密.mkv
│ │ 05-2-property装饰器.mkv
│ │ 05-3-celery介绍.mkv
│ │ 05-4-celery基本使用.mkv
│ │ 05-5-celery目录分层.mkv
│ │ 05-6-账号登录.mkv
│ │
│ ├─06.第六讲-登录装饰器定义和用户上传头像
│ │ 06-1-检查登录状态&退出登录.mkv
│ │ 06-2-装饰器的定义.mkv
│ │ 06-3-装饰器测试&文件存储方案选择.mkv
│ │ 06-4-七牛云的SDK封装.mkv
│ │ 06-5-用户上传头像接口定义.mkv
│ │
│ ├─07.第七讲-个人信息和区域信息
│ │ 07-1-修改用户名.mkv
│ │ 07-2-保存实名认证信息及获取实名信息.mkv
│ │ 07-3-获取城区信息.mkv
│ │ 07-4-区域信息加入缓存.mkv
│ │ 07-5-JS模板引擎.mkv
│ │ 07-6-保存房屋信息.mkv
│ │
│ ├─08.第八讲-保存房屋信息和查询首页房屋
│ │ 08-1-保存房屋基本信息.mkv
│ │ 08-2-保存房屋图片.mkv
│ │ 08-3-查询用户发布过的房屋.mkv
│ │ 08-4-查询首页房屋.mkv
│ │ 08-5-房屋信息加入缓存.mkv
│ │
│ ├─09.第九讲-房屋详情和房屋搜索
│ │ 09-1-房屋详情.mkv
│ │ 09-2-详情页面加入缓存.mkv
│ │ 09-3-房屋搜索参数接收&校验.mkv
│ │ 09-4-房屋搜索页面查询.mkv
│ │
│ ├─10.第十讲-房屋搜索及保存订单
│ │ 10-1-房屋搜索分页功能.mkv
│ │ 10-2-房屋页面加入缓存.mkv
│ │ 10-3-保存订单接收参数&校验参数.mkv
│ │ 10-4-保存订单到数据库.mkv
│ │ 10-5-查询用户订单.mkv
│ │
│ ├─11.第十一讲-对接支付宝
│ │ 11-1-房东接单&拒单.mkv
│ │ 11-2-对接支付宝.mkv
│ │ 11-3-支付宝支付.mkv
│ │ 11-4-保存订单结果.mkv
│ │ 11-5-保存订单评论信息.mkv
│ │
│ └─上课代码.zip
│
├─6-Dajngo框架
│ │
│ ├─01.第一讲-Django初体验
│ │ 01-01-虚拟环境的创建并使用.mkv
│ │ 01-02-Django框架介绍和搭建.mkv
│ │ 01-03-Django项目的创建及运行.mkv
│ │ 01-04-app的创建.mkv
│ │ 01-05-Django初体验.mkv
│ │ 01-课堂复习.mkv
│ │
│ ├─02.第二讲-URL与视图
│ │ 02-01-url映射.mkv
│ │ 02-02-url模块化&转换器.mkv
│ │ 02-03-url应用命名空间.mkv
│ │ 02-04-实例命名空间.mkv
│ │ 02-05-路由reverse反转传递参数.mkv
│ │ 02-06-url指定默认参数.mkv
│ │ 02-课堂复习.mkv
│ │
│ ├─03.第三讲-URL与视图及模板
│ │ 03-01-re_path函数匹配路由.mkv
│ │ 03-02-模板介绍&渲染模板.mkv
│ │ 03-03-模板查找路径配置.mkv
│ │ 03-04-模板变量的语法.mkv
│ │ 03-05-常用的模板标签.mkv
│ │ 03-课堂回顾.mkv
│ │
│ ├─04.第四讲-模板
│ │ 04-01-url标签.mkv
│ │ 04-02-补充标签.mkv
│ │ 04-03-模板过滤器.mkv
│ │ 04-04-模板结构优化.mkv
│ │ 04-05-加载静态文件.mkv
│ │
│ ├─05.第五讲-数据库
│ │ 05-01-static文件加载配置补充.mkv
│ │ 05-02-Django连接数据库.mkv
│ │ 05-03-ORM的介绍.mkv
│ │ 05-04-创建ORM模型.mkv
│ │ 05-05-ORM模型的增删改查.mkv
│ │ 05-课后复习.mkv
│ │
│ ├─06.第六讲-数据库
│ │ 06-01-orm常用字段上.mkv
│ │ 06-02-orm常用字段中.mkv
│ │ 06-03-orm常用字段下.mkv
│ │ 06-04-常用参数&meta配置.mkv
│ │ 06-05-外键.mkv
│ │
│ ├─07.第七讲-数据库
│ │ 07-01-自关联表格的建立.mkv
│ │ 07-02-外键删除.mkv
│ │ 07-03-查询操作上.mkv
│ │ 07-04-查询操作下.mkv
│ │ 07-05-比较运算和range.mkv
│ │ 07-课堂回顾.mkv
│ │
│ ├─08.第八讲-数据库
│ │ 08-01-课堂回顾.mkv
│ │ 08-02-date、year、time查询.mkv
│ │ 08-03-聚合函数的介绍和Avg.mkv
│ │ 08-04-aggregate和annotate的区别.mkv
│ │ 08-05-count、max和min、sum聚合函数.mkv
│ │ 08-06-F和Q表达式.mkv
│ │
│ ├─09.第九讲-数据库
│ │ 09-01-objects属性介绍.mkv
│ │ 09-02-QuerySet中exclude.mkv
│ │ 09-03-QuerySet方法(上).mkv
│ │ 09-04-QuerySet方法(下).mkv
│ │ 09-05-迁移命令.mkv
│ │ 09-06-解决前一版本不对应的问题.mkv
│ │ 09-07-根据已有的表反向生成模型.mkv
│ │
│ ├─10.第十讲-视图高级
│ │ 10-01-限制请求方法.mkv
│ │ 10-02-HttpRespose对象.mkv
│ │ 10-03-HttpResponse对象.mkv
│ │ 10-04-类视图.mkv
│ │ 10-05-TemplateView.mkv
│ │ 10-06-Paginator和Page类.mkv
│ │
│ ├─11.第十一讲-表单
│ │ 11-01-错误处理.mkv
│ │ 11-02-表单的基本使用.mkv
│ │ 11-03-常用的Field和验证器.mkv
│ │ 11-04-自定义验证和错误处理.mkv
│ │ 11-05-ModelForm基本使用.mkv
│ │
│ ├─12.第十二讲-表单和上下文处理
│ │ 12-01-ModelForm保存方法.mkv
│ │ 12-02-使用模型来处理上传的文件.mkv
│ │ 12-03-限制文件上传的扩展名.mkv
│ │ 12-04-上下文处理.mkv
│ │
│ └─上课代码.zip
│
└─7-Django项目
│
├─01.第一讲-项目准备&用户注册
│ 01-1-项目开发流程介绍.mkv
│ 01-2-项目需求分析.mkv
│ 01-3-项目架构设计.mkv
│ 01-4-配置工程项目(上).mkv
│ 01-5-配置工程项目(中).mkv
│ 01-6-配置工程项目(下).mkv
│ 01-7-解决模块导入问题.mkv
│
├─02.第二讲-用户注册
│ 02-1-Django默认用户模型类.mkv
│ 02-2-注册后端业务逻辑实现.mkv
│ 02-3-注册前端业务逻辑实现.mkv
│ 02-4-完善前端注册业务逻辑.mkv
│
├─03.第三讲-用户注册-图形验证码&短信验证码逻辑分析
│ 03-1-用户注册-状态保持.mkv
│ 03-1-用户注册-状态保持.mkv
│ 03-2-用户名重复注册接口设计和定义.mkv
│ 03-2-用户名重复注册接口设计和定义.mkv
│ 03-3-用户名重复注册前端逻辑.mkv
│ 03-3-用户名重复注册前端逻辑.mkv
│ 03-4-图形验证码逻辑分析&接口设计和定义.mkv
│ 03-4-图形验证码逻辑分析&接口设计和定义.mkv
│ 03-5-图形验证码后端逻辑.mkv
│ 03-5-图形验证码后端逻辑.mkv
│ 03-6-图形验证码前端逻辑.mkv
│ 03-6-图形验证码前端逻辑.mkv
│ 03-7-短信验证码逻辑分析&容联云平台介绍.mkv
│ 03-7-短信验证码逻辑分析&容联云平台介绍.mkv
│
├─04.第四讲-用户注册-短信验证码
│ 04-1-封装发送短信单例类.mkv
│ 04-2-短信验证码后端逻辑实现.mkv
│ 04-3-短信验证码后端代码优化.mkv
│ 04-4-短信验证码前端逻辑.mkv
│ 04-5-补充注册时短信验证后端逻辑.mkv
│ 04-6-避免频繁发送短信验证码.mkv
│
├─05.第五讲-用户注册-celery&账号登录
│ 05-1-短信验证码-pipeline操作Redis数据库.mkv
│ 05-2-生产者消费者设计模式.mkv
│ 05-3-Celery介绍和使用.mkv
│ 05-4-账号登录-用户名登录逻辑分析&接口设计.mkv
│ 05-5-用户名登录后端逻辑.mkv
│ 05-6-多账号登录.mkv
│ 05-7-pycharm断点调试.mkv
│
├─06.第六讲-用户登录-账号登录&QQ登录
│ 06-1-首页用户名展示.mkv
│ 06-2-退出登录.mkv
│ 06-3-判断用户是否登录.mkv
│ 06-4-判断用户是否登录补充.mkv
│ 06-5-QQ登录开发文档(上).mkv
│ 06-6-QQ登录开发文档(下).mkv
│
├─07.第七讲-QQ登录
│ 07-1-定义QQ登录模型类.mkv
│ 07-2-QQ登录-提供扫码登录页面.mkv
│ 07-3-QQ登录-根据openid判断用户是否绑定.mkv
│ 07-4-QQ登录-openid的签名&展示绑定页面.mkv
│ 07-5-QQ登录-openid绑定用户实现.mkv
│
├─08.第八讲-用户中心
│ 08-1-用户中心-用户基本信息.mkv
│ 08-2-添加邮箱后端逻辑实现.mkv
│ 08-3-判断用户是否登录并返回JSON.mkv
│ 08-4-Django发送邮件的配置.mkv
│ 08-5-异步发送邮件.mkv
│ 08-6-验证邮箱后端逻辑.mkv
│
├─09.第九讲-用户中心&收货地址
│ 09-1-功能小结.mkv
│ 09-2-展示收货地址界面.mkv
│ 09-3-准备省市区模型和数据.mkv
│ 09-4-查询省级数据.mkv
│ 09-5-查询市区数据.mkv
│ 09-6-缓存省市区数据.mkv
│ 09-7-新增地址后端逻辑.mkv
│
├─10.第十讲-用户中心&收货地址&商品
│ 10-1-新增地址前后端逻辑.mkv
│ 10-2-展示地址前后端逻辑.mkv
│ 10-3-修改地址前后端逻辑.mkv
│ 10-4-删除地址&设置默认地址.mkv
│ 10-5-商品数据库设计.mkv
│
├─11.第十一讲-准备商品数据
│ 11-1-商品信息数据库表分析.mkv
│ 11-2-定义商品模型&映射数据库.mkv
│ 11-3-FastDFS介绍.mkv
│ 11-4-FastDFS文件索引.mkv
│ 11-5-docker的介绍与安装.mkv
│ 11-6-Docker镜像操作.mkv
│
├─12.第十二讲-准备商品数据&首页广告
│ 12-1-Docker容器操作.mkv
│ 12-2-FastDFS安装&FastDFS上传图片.mkv
│ 12-3-录入商品数据和图片数据.mkv
│ 12-4-展示首页商品频道分类.mkv
│ 12-5-展示首页商品频道分类.mkv
│
├─13.第十三讲-首页广告&商品列表页
│ 13-1-展示首页商品广告.mkv
│ 13-2-自定义Django文件存储类.mkv
│ 13-3-商品列表页面-商品分类.mkv
│ 13-4-列表页面包屑导航.mkv
│ 13-5-列表页面商品排序.mkv
│
├─14.第十四讲-商品列表页&商品搜索
│ 14-1-列表页面分页后端业务逻辑.mkv
│ 14-2-渲染列表页分页和排序数据.mkv
│ 14-3-列表页热销排行.mkv
│ 14-4-全文检索方案Elasticsearch.mkv
│ 14-5-Haystack扩展建立索引&渲染商品搜索结果.mkv
│
├─15.第十五讲-商品详情页&用户浏览记录
│ 15-1-商品详情页初步渲染.mkv
│ 15-2-查询和渲染SKU规格信息.mkv
│ 15-3-统计分类商品访问量.mkv
│ 15-4-设计浏览记录存储方案.mkv
│ 15-5-保存和查询浏览记录.mkv
│
├─16.第十六讲-购物车存储方案&购物车管理
│ 16-1-登录用户购物车存储方案.mkv
│ 16-2-未登录用户购物车存储方案.mkv
│ 16-3-添加购物车接口设计和定义.mkv
│ 16-4-添加购物车后端业务逻辑.mkv
│ 16-5-展示购物车.mkv
│
├─17.第十七讲-订单
│ 17-1-修改购物车.mkv
│ 17-2-删除购物车.mkv
│ 17-3-全选购物车.mkv
│ 17-4-合并购物车.mkv
│ 17-5-结算订单接口设计和定义.mkv
│
├─18.第十八讲-订单模块
│ 18-1-结算订单后端逻辑实现.mkv
│ 18-2-创建订单数据库表.mkv
│ 18-3-保存订单基本信息.mkv
│ 18-4-订单商品信息.mkv
│ 18-5-使用事务保存订单数据.mkv
│ 18-6-使用乐观锁并发下单.mkv
│
└─上课代码.zip