播放列表
Python实战编程:从零学Python
章节1开启Python学习之旅
课时101-Python的由来
课时202-Python的特点
课时303-Python的应用领域
课时404-Python版本的基本介绍
课时505-不同版本解释器的详细介绍
课时606-Linux系统安装Python
课时707-Windows下Python的下载
课时808-Python2的安装
课时909-Python3的安装
课时1010-Mac电脑使用Python介绍
课时1111-IDLE的介绍
课时1212-IDLE的使用
课时1313-IPython的介绍和安装
课时1414-运行Python代码的两种方式
课时1515-Python常见的集成开发环境介绍
课时1616-PyCharm的下载和安装
课时1717-PyCharm创建和运行Python程序
课时1818-解释型语言和编译型语言介绍
课时1919-Python文档的查看方式
章节2Python快速入门
课时101-Python快速入门-学习目标
课时202-输入和输出
课时303-注释
课时404-文档字符串
课时505-修改PyCharm字体大小
课时606-代码风格
课时707-变量
课时808-标识符强制遵守的规则
课时909-标识符命名建议
课时1010-关键字
课时1111-常见数据类型
课时1212-if语句
课时1313-while循环
课时1414-for循环
课时1515-可迭代对象
课时1616-文件、异常、函数、面向对象、模块
章节3数值类型
课时101-数值类型介绍
课时202-整型的介绍
课时303-四种定义整型的方式
课时404-浮点型
课时505-浮点型的取值范围
课时606-浮点型的存储
课时707-复数
课时808-布尔类型
课时909-算数运算符
课时1010-复合赋值运算符
课时1111-比较运算符
课时1212-or的使用
课时1313-and的使用
课时1414-not的使用
课时1515-类型转换
课时1616-对象和引用
课时1717-进制转换
课时1818-位运算的介绍
课时1919-整型存储方式
课时2020-按位取反
课时2121-按位左移和右移运算
课时2222-与运算
课时2323-或运算
课时2424-异或运算
课时2525-运算符优先级
章节4字符串
课时101-字符串的定义方式
课时202-使用str创建字符串
课时303-字符串的索引
课时404-字符串不可修改
课时505-切片的基本使用
课时606-切片-省略起始或结束位置
课时707-切片-步长
课时808-特殊字符处理
课时909-格式化输出
课时1010-格式化操作的辅助指令
课时1111-字符串的输入
课时1212-字符串模板
课时1313-字符串内建函数
课时1414-字符串常见方法
课时1515-字符串操作符
章节5序列
课时101-序列的介绍
课时202-索引的使用
课时303-切片的基本使用
课时404-切片的高级使用
课时505-切片的步长使用
课时606-通用序列操作
课时707-列表的介绍
课时808-列表的创建方式
课时909-列表操作符
课时1010-列表的相关函数
课时1111-列表的相关方法
课时1212-sorted的使用
课时1313-定义元组
课时1414-元组的通用操作
课时1515-元组元素的“修改”
课时1616-元组是无符号对象的默认类型
课时1717-不同序列的互相转换
课时1818-range的基本使用
课时1919-range的使用注意点
课时2020-range和列表、元组的比较
章节6流程控制
课时101-流程控制介绍
课时202-if语句的使用
课时303-debug的使用
课时404-if-else的使用
课时505-条件表达式
课时606-多重条件表达式
课时707-if-elif语句的使用
课时808-if-elif-else的使用
课时909-if嵌套
课时1010-判断表达式
课时1111-while循环的基本执行过程
课时1212-while循环计算阶乘
课时1313-循环嵌套的执行过程
课时1414-循环嵌套-打印三角形
课时1515-死循环
课时1616-for循环的执行过程
课时1717-for循环遍历列表和range
课时1818-for循环使用技巧01
课时1919-for循环使用技巧02
课时2020-迭代器和iter函数
课时2121-列表推导式
课时2222-循环中break语句的使用
课时2323-循环中continue语句的使用
课时2424-pass的使用
课时2525-循环的else使用
章节7字典和集合
课时101-字典的介绍
课时202-字典的特点
课时303-字典的增删改查
课时404-字典推导式
课时505-字典操作的补充
课时606-字典的常用函数
课时707-字典的clear和get方法
课时808-字典的copy方法
课时909-items方法的使用
课时1010-items方法的补充
课时1111-keys方法的使用
课时1212-values方法的使用
课时1313-集合的定义方式和特点
课时1414-集合的数据操作
课时1515-集合数据操作增强
课时1616-标准类型的操作符
课时1717-集合类型的操作符
课时1818-可变集合类型的操作符
课时1919-集合内建方法
章节8函数和函数式编程
课时101-函数的介绍
课时202-基本的函数定义格式
课时303-函数的执行过程和函数的debug调试
课时404-函数文档
课时505-函数的参数
课时606-函数的return返回值
课时707-return的使用强化
课时808-在一个函数里返回多个值
课时909-关键字参数
课时1010-参数默认值
课时1111-关键字参数使用注意点
课时1212-不定长参数
课时1313-不定长参数-字典版
课时1414-解包的使用
课时1515-混合参数传值
课时1616-函数嵌套的执行过程
课时1717-递归函数
课时1818-匿名函数的定义和调用
课时1919-函数作为参数传递
课时2020-map的使用
课时2121-filter的使用
课时2222-reduce的使用
课时2323-局部变量
课时2424-全局变量
课时2525-在函数里修改全局变量
课时2626-闭包函数的定义方式
课时2727-闭包函数的使用
课时2828-LEGB原则
课时2929-nonlocal关键字
课时3030-装饰器的定义和使用
课时3131-多个装饰器
课时3232-装饰有参数的函数
课时3333-装饰任意个数参数的函数
课时3434-被装饰函数有返回值的处理方式
课时3535-通用装饰器
课时3636-带有参数的装饰器
课时3737-装饰器的应用场景
课时3838-生成器介绍
课时3939-生成器的执行过程
课时4040-生成器使用注意点
课时4141-使用生成器获取斐波那契数列
课时4242-生成器的send方法
课时4343-生成器的close方法
课时4444-生成器处理协程效果
课时4545-生成器和迭代器的区别
课时4646-Python内置函数
课时4747-数学运算相关函数
课时4848-类型转换相关函数
课时4949-序列相关的函数
课时5050-类、对象、属性相关函数
课时5151-编译、执行相关函数
课时5252-其他函数
章节9文件
课时101-文件的介绍
课时202-打开文件介绍
课时303-文件路径的说明
课时404-打开文件的模式说明
课时505-文件的关闭
课时606-文件的写入
课时707-文件的缓冲设置
课时808-文件的read操作
课时909-文件读写的注意点
课时1010-文件的4种读取方式
课时1111-文件的读写位置跳转
课时1212-文件的其他属性和方法
课时1313-文件的遍历
课时1414-文件备份
课时1515-文件的重命名和删除
课时1616-文件夹操作(OS模块扩展)
课时1717-标准文件
课时1818-用户登陆案例介绍
课时1919-用户登陆-任务分解
课时2020-用户登陆-搭建程序框架
课时2121-用户登陆-程序入口
课时2222-用户登陆-初始化
课时2323-用户选择身份类型
课时2424-完成管理员账号的验证
课时2525-用户登陆-完成用户注册
课时2626-用户登陆-普通用户登陆
章节10面向对象(上)
课时101-面向对象介绍
课时202-面向对象和面向过程的区别
课时303-类和对象的概念
课时404-定义类
课时505-创建对象
课时606-对象属性
课时707-在方法里添加对象属性-self的使用
课时808-删除对象属性
课时909-类属性
课时1010-类对象的介绍
课时1111-构造方法
课时1212-析构方法
课时1313-对象方法
课时1414-类方法和静态方法
课时1515-属性的保护
课时1616-私有属性
课时1717-私有属性作用原理
课时1818-私有方法
课时1919-使用property保护属性
章节11面向对象(下)
课时101-封装
课时202-继承的介绍
课时303-单继承
课时404-继承时的私有属性
课时505-isinstance和issubclass
课时606-新式类和经典类
课时707-多继承
课时808-多继承中父类有同名方法及处理办法
课时909-重写
课时1010-重写-调用父类方法
课时1111-多态
课时1212-运算符重载介绍
课时1313-四则运算的重载
课时1414-索引和分片重载
课时1515-定制对象的字符串描述
课时1616-__new__方法介绍
课时1717-__new__接收参数
课时1818-设计模式
课时1919-单例模式
课时2020-单例模式-初始化参数
课时2121-耦合与解耦的介绍
课时2222-工厂模式的需求分析
课时2323-工厂模式的代码
章节12错误和异常
课时101-异常的介绍
课时202-常见异常
课时303-捕捉异常
课时404-捕捉指定异常
课时505-一次性捕捉多个异常
课时606-捕捉所有异常
课时707-异常别名-获取异常信息
课时808-异常的else和finally语句
课时909-raise的使用
课时1010-异常的传递
课时1111-断言-assert语句
课时1212-自定义异常
课时1313-自定义异常的完善
课时1414-with的基本使用
课时1515-with语句-异常的处理
课时1616-上下文管理器
章节13模块
课时101-模块介绍
课时202-sys模块
课时303-os模块的使用
课时404-path模块的使用
课时505-time模块的使用
课时606-导入模块的方式
课时707-自定义模块
课时808-搜索路径
课时909-__all__属性的介绍
课时1010-__name__属性的使用
课时1111-模块导入特性
课时1212-模块缓存
课时1313-包的介绍
课时1414-导入包
课时1515-包下的__init__文件作用
课时1616-打包模块
课时1717-模块的安装
章节14内存管理
课时101-内存管理介绍
课时202-内存管理的常用机制
课时303-引用计数机制概述
课时404-增加对象的引用
课时505-减少对象的引用
课时606-释放对象占用的内存
课时707-容器对象引用对象
课时808-对象之间的循环引用
课时909-弱引用处理循环引用
课时1010-垃圾回收机制概述
课时1111-垃圾回收-标记清除技术
课时1212-垃圾回收-分代回收技术
课时1313-gc模块
课时1414-垃圾回收场景
课时1515-内存池-小整数对象池
课时1616-内存池-字符串的intern机制
章节15正则表达式
课时101-知识引入
课时202-起源与发展
课时303-正则表达式的定义
课时404-字符分类
课时505-点字符
课时606-行头行尾
课时707-单词边界
课时808-多选结构
课时909-重复匹配
课时1010-字符组
课时1111-转义字符
课时1212-子组
课时1313-re模块
课时1414-预编译
课时1515-匹配与搜索
课时1616-匹配对象
课时1717-全文匹配
课时1818-检索替换
课时1919-文本分割
课时2020-贪婪模式
课时2121-预定义字符集
章节16图形用户界面编程
课时101-Tkinter概述
课时202-第一个Tkinter程序
课时303-常用组件-标签、按钮、输入框
课时404-组件属性设置方式
课时505-标准组件属性
课时606-按钮(Button)
课时707-标签组件(Label)
课时808-文本框(Entry)
课时909-多行文本框(Text)
课时1010-单选按钮(Radiobutton)
课时1111-复选框(Checkbutton)
课时1212-列表框(Listbox)
课时1313-菜单-主菜单
课时1414-菜单-下拉菜单
课时1515-菜单-弹出菜单
课时1616-对话框-消息对话框
课时1717-对话框-文件对话框
课时1818-对话框-颜色选择对话框
课时1919-画布绘制
课时2020-绘制的option参数
课时2121-绘制五角星案例-计算方式思路
课时2222-绘制五角星案例-计算点的位置
课时2323-绘制五角星案例-将点的位置套入代码中
课时2424-pack布局管理器
课时2525-grid布局管理器
课时2626-place布局管理器
课时2727-简单的事件绑定方式
课时2828-鼠标事件处理
课时2929-键盘事件和组件尺寸变化的处理
课时3030-其他事件绑定方式
课时3131-其他GUI
章节17多任务编程
课时101-引入
课时202-多任务的实现原理
课时303-进程介绍
课时404-通过fork函数创建进程
课时505-通过Process类实例创建进程
课时606-使用join方法同步进程
课时707-通过Process子类创建子进程
课时808-进程池批量创建进程
课时909-通过subprocess模块创建进程
课时1010-全局变量在多个进程中不共享
课时1111-使用Queue队列实现进程间通信
课时1212-线程介绍
课时1313-使用Thread类实现多线程
课时1414-使用Thread子类实现多线程
课时1515-调用join()方法阻塞线程
课时1616-线程共享全局变量
课时1717-访问全局变量出现数据不同步的问题
课时1818-通过互斥锁(Lock)解决数据不同步的问题
课时1919-持有多个锁造成死锁的问题
课时2020-可重入锁(RLock)的使用
课时2121-通过条件变量(Condition)实现线程同步
课时2222-通过队列(Queue)实现线程同步
课时2323-使用事件(Event)实现线程通信
课时2424-后台线程
课时2525-协程
章节18网络编程
课时101-知识引入
课时202-计算机网络概述
课时303-协议的概念
课时404-常用协议
课时505-IP地址
课时606-网络掩码
课时707-端口
课时808-数据传输流程
课时909-网络编程概述
课时1010-socket简介(套接字)
课时1111-创建套接字
课时1212-udp发送数据
课时1313-udp接收数据
课时1414-udp端口绑定
课时1515-tcp客户端
课时1616-tcp服务端
课时1717-tcp服务端-判断客户端下线
课时1818-tcp服务端-多人服务
课时1919-tcp的注意点
章节19数据库
课时101-数据库简介
课时202-下载MySQL
课时303-安装MySQL
课时404-卸载MySQL
课时505-使用MySQL Workbench
课时606-创建和删除数据库
课时707-创建和删除表
课时808-数据的添加
课时909-数据的更新
课时1010-数据的删除
课时1111-比较运算符查询
课时1212-逻辑运算符查询
课时1313-模糊查询
课时1414-连续范围查询
课时1515-不连续范围查询(集合查询)
课时1616-空值查询
课时1717-查询不重复的记录
课时1818-聚合查询
课时1919-分组查询
课时2020-排序查询
课时2121-限制记录数量
课时2222-完整的SQL语句
课时2323-多表查询
课时2424-字符串函数
课时2525-数学函数
课时2626-日期时间函数
课时2727-类型转换函数
课时2828-事务
课时2929-Python与MySQL交互
章节20Web编程
课时101-Web服务器概述
课时202-第一个Web服务器
课时303-统一资源定位符
课时404-HTTP协议
课时505-HTTP请求方法和状态码
课时606-HTML简介
课时707-CSS简介
课时808-简介
课时909-静态服务器
课时1010-WSGI规范
课时1111-WSGI服务器
课时1212-Web服务器
课时1313-基于框架的服务器
章节21案例_井字棋
课时101-井字棋游戏介绍
课时202-学习目标
课时303-游戏规则详细说明
课时404-游戏的代码流程分析
课时505-类的设计
课时606-明确设计目标
课时707-创建项目-新建文件
课时808-棋盘模块的功能说明
课时909-根据落子打印棋盘的方式分析
课时1010-可落子的位置索引列表
课时1111-初始化棋盘
课时1212-打印棋盘
课时1313-打印落子情况
课时1414-完成棋盘的落子功能
课时1515-平局判断
课时1616-获胜的逻辑判断
课时1717-重置棋盘
课时1818-棋盘开发回顾
课时1919-初始化玩家类
课时2020-用户落子的需求解析
课时2121-玩家落子
课时2222-阶段总结
课时2323-初始化游戏环境
课时2424-确定先手玩家的方法说明
课时2525-确认玩家先后手的代码实现
课时2626-游戏流程回顾
课时2727-一局游戏的注释书写
课时2828-玩家对战
课时2929-循环对局开发
课时3030-阶段总结
课时3131-计算机落子的技术分析
课时3232-随机选择可落子位置的方法说明
课时3333-电脑玩家随机落子
课时3434-阶段总结
课时3535-落子策略介绍
课时3636-必胜和必救的位置判断逻辑
课时3737-模拟落子位置的胜负判断
课时3838-修改棋盘的is_win方法代码
课时3939-必胜和必救位置的代码解析
课时4040-必胜和必救位置落子的代码实现
课时4141-评估子力价值的方式
课时4242-使用集合获取优先落子的位置
课时4343-根据子力来落子的代码实现
章节22案例_贪吃蛇
课时101-游戏介绍
课时202-课程内容介绍
课时303-pygame安装和验证
课时404-游戏规则的详细介绍
课时505-类的设计
课时606-新建项目并创建模块
课时707-游戏框架内容介绍
课时808-pygame的初始化和退出
课时909-创建游戏窗口
课时1010-开启游戏循环
课时1111-游戏时钟
课时1212-pygame的颜色定义方式
课时1313-绘制窗口背景颜色
课时1414-绘制文本的方式
课时1515-创建字体对象的参数介绍
课时1616-创建文本标签类
课时1717-绘制文本内容到窗口里
课时1818-测试在窗口里绘制文本
课时1919-绘制文本的过程小结
课时2020-电脑里的坐标系
课时2121-把文字显示到窗口左下角-矩形的介绍
课时2222-使用矩形的相对位置来绘制文字
课时2323-元素定位小结
课时2424-循环的作用小结
课时2525-事件和监听介绍
课时2626-获取和判断事件类型
课时2727-空格键的监听
课时2828-游戏暂停信息的提示
课时2929-游戏结束信息的提示和游戏的重置
课时3030-事件监听小结
课时3131-绘制图形
课时3232-绘制食物的方式分析
课时3333-在固定位置绘制食物
课时3434-随机食物位置的算法
课时3535-随机生成食物位置
课时3636-食物的动画效果
课时3737-绘制食物小结
课时3838-定时器使用介绍
课时3939-定时更新食物位置
课时4040-蛇类的构成分析
课时4141-创建蛇类
课时4242-添加身体的逻辑
课时4343-添加蛇的身体
课时4444-绘制蛇的身体
课时4545-移动蛇的身体
课时4646-修改蛇的移动方向
课时4747-蛇吃食物的业务说明
课时4848-蛇吃食物
课时4949-蛇的死亡判断处理思路
课时5050-蛇的死亡处理
章节23案例_飞机大战
课时101-课程简介
课时202-游戏启动时界面元素说明
课时303-玩家飞机功能介绍
课时404-敌人飞机介绍
课时505-敌人飞机执行细节
课时606-游戏道具和游戏结束的执行介绍
课时707-搭建框架的需求说明
课时808-项目准备
课时909-Game类的属性和方法说明
课时1010-Game类的属性和方法细节说明
课时1111-游戏框架内容的介绍
课时1212-定义窗口大小变量
课时1313-初始化和重置Game类
课时1414-启动游戏
课时1515-处理退出事件
课时1616-切换游戏状态
课时1717-游戏框架的完善和阶段总结
课时1818-精灵和精灵组学习方式介绍
课时1919-加载并显示图片的步骤说明
课时2020-自己实现图像的加载和绘制
课时2121-精灵和精灵组使用说明
课时2222-派生精灵子类的代码说明
课时2323-自定义游戏精灵类
课时2424-使用精灵组绘制精灵内容
课时2525-阶段总结
课时2626-连续滚动背景的解决方案
课时2727-连续滚动背景的代码实现
课时2828-控制面板功能介绍
课时2929-面板类的属性和方法说明
课时3030-面板类的初始化
课时3131-状态按钮精灵的定义
课时3232-显示并定位状态按钮、炸弹精灵、生命精灵
课时3333-标签类的功能说明
课时3434-定义标签精灵类
课时3535-显示数字标签
课时3636-显示提示信息标签
课时3737-修改炸弹计数
课时3838-修改生命计数
课时3939-修改游戏得分的算法
课时4040-游戏得分更新
课时4141-最好成绩的文件读取需求说明
课时4242-保存最好成绩到文件
课时4343-从文件中加载最好成绩
课时4444-为什么只会保存最高得分
课时4545-游戏状态变化的说明
课时4646-精灵的绘制顺序演示
课时4747-处理提示信息显示和隐藏的思路
课时4848-显示提示信息的代码实现
课时4949-隐藏提示信息的处理
课时5050-为什么要重置面板数据的说明
课时5151-重置面板数据的代码实现
课时5252-飞机开发效果介绍
课时5353-飞机类的基本功能说明
课时5454-使用逐帧动画显示英雄飞机
课时5555-减少动画帧数的方式说明
课时5656-飞机的火焰动画完善
课时5757-飞机类的属性和方法说明
课时5858-优化飞机的属性
课时5959-飞机的重置和更新
课时6060-测试改进版的飞机
课时6161-敌人飞机类的功能描述
课时6262-定义敌人飞机类
课时6363-根据关卡不同创建不同数量飞机的方法说明
课时6464-根据关卡创建不同数量的飞机
课时6565-随机敌人飞机位置的算法
课时6666-随机敌人飞机位置的代码实现
课时6767-敌机飞行
课时6868-爆炸效果的bug修复
课时6969-英雄飞机的处理步骤说明
课时7070-飞机类功能说明
课时7171-定义英雄飞机类
课时7272-让控制面板显示飞机的炸弹数量
课时7373-移动英雄飞机需要新的监听机制
课时7474-get_pressed方法的基本使用
课时7575-飞机移动效果完善
课时7676-引爆所有敌机的需求说明
课时7777-引爆所有敌机代码实现
课时7878-碰撞检测的讲解过程说明
课时7979-sprite的碰撞检测方法
课时8080-实现高质量的碰撞检测
课时8181-英雄飞机被撞毁的注意点介绍
课时8282-玩家飞机被撞毁的处理
课时8383-正在爆炸的飞机不会影响英雄飞机
课时8484-自定义事件的需求说明
课时8585-英雄飞机被撞击后控制面板的更新
课时8686-英雄飞机爆炸后的无敌时间和位置重置
课时8787-子弹类的功能说明
课时8888-定义子弹类
课时8989-发射子弹的定时事件处理
课时9090-飞机发射子弹的代码实现
课时9191-子弹击中敌机的碰撞检测
课时9292-子弹击中敌机的代码实现
课时9393-游戏的重置完善
课时9494-弹药的处理方式说明
课时9595-定义道具类
课时9696-抛出道具
课时9797-英雄飞机捡取道具
课时9898-音乐功能的说明
课时9999-播放音乐的两种方式展示
课时100100-音乐类的功能说明
课时101101-创建音乐播放器类-背景音乐的播放和暂停处理
课时102102-音效功能的处理
课时103103-完成界面里的音效处理-游戏开发完成
课时104104-设置窗口标题补充
章节24案例_多人聊天室
课时101-项目效果展示
课时202-项目功能的详细介绍
课时303-服务器功能介绍
课时404-通信协议介绍
课时505-创建config模块
课时606-处理服务器响应字符串的拼接(响应协议)
课时707-封装服务器套接字
课时808-创建服务器核心类与网络数据收发的回顾
课时909-创建SocketWapper类
课时1010-获取多个客户端连接
课时1111-一个客户端多次收发数据
课时1212-多个客户端同时收发数据
课时1313-开启子线程的另一种方式-匿名函数
课时1414-服务器获取到数据之后的处理流程说明
课时1515-解析客户端的信息
课时1616-根据请求类型调用不同的方法响应
课时1717-根据请求类型调用不同的方法-完善
课时1818-登陆代码的说明
课时1919-用户登陆的逻辑处理
课时2020-准备数据库
课时2121-数据库类的初始化
课时2222-查询单个用户信息的逻辑分析
课时2323-从数据库查询一个用户信息的代码实现
课时2424-完成用户账号检查
课时2525-清理离线用户
课时2626-服务器转发消息给在线用户
课时2727-tkinter模块介绍
课时2828-创建登陆窗口类
课时2929-初始化登陆窗口属性
课时3030-创建控件的方法简介
课时3131-用户名和密码控件显示
课时3232-提供重置和登陆按钮
课时3333-重置和登陆按钮的点击响应处理
课时3434-获取和清空文本框内容
课时3535-关闭窗口的响应处理
课时3636-创建ClientSocket类
课时3737-创建协议类
课时3838-初始化登陆窗口
课时3939-发送登陆消息到服务器
课时4040-开启接收消息的线程
课时4141-解析消息内容
课时4242-提供响应方法的注册功能
课时4343-设置协议解析方法为静态方法
课时4444-登陆或失败的结果判断
课时4545-显示提示对话框
课时4646-初始化聊天窗口
课时4747-ScrolledText使用介绍
课时4848-添加控件到聊天窗口
课时4949-聊天界面发送按钮和输入框处理
课时5050-添加信息到聊天区
课时5151-聊天窗口添加关闭窗口的响应
课时5252-登陆成功后显示聊天窗口
课时5353-发送消息到服务器
课时5454-从服务器接收消息
课时5555-程序结束时的资源释放
章节25大型购物网站—天天生鲜
课时101-天天生鲜项目展示
课时202-Django框架的介绍
课时303-Django框架结构-mvc和mvt
课时404-天天生鲜项目的创建
课时505-创建应用和开启服务器
课时606-数据库的配置
课时707-数据表和字段的介绍
课时808-定义模型类
课时909-创建和执行迁移文件生成数据表
课时1010-插入商品分类的数据
课时1111-插入商品数据
课时1212-查询、更新、删除操作
课时1313-创建视图
课时1414-模板文件的配置和使用
课时1515-模板传值和配置静态文件的使用
课时1616-Cookie的介绍
课时1717-首页数据查询-分类和商品数据
课时1818-首页数据查询-购物车数据
课时1919-静态文件的添加
课时2020-首页模板
课时2121-首页开发总结
课时2222-商品详情页面-视图创建
课时2323-商品详情页面-模板添加和访问
课时2424-添加购物车-视图创建
课时2525-添加购物车-访问成功
课时2626-商品分类页面-创建视图获取数据
课时2727-商品分类页面-显示所有数据
课时2828-商品分类页面-分页
课时2929-商品分类页面-总结和快速定位bug
课时3030-购物车页面-创建视图获取数据
课时3131-购物车页面-创建模板和显示数据
课时3232-购物车删除商品功能
课时3333-csrf攻击和防护01
课时3434-csrf攻击和防护02
课时3535-提交订单页面-视图创建
课时3636-提交订单页面-模板创建访问和显示
课时3737-过滤器的使用
课时3838-提交订单-视图创建
课时3939-提交订单-视图功能完成
课时4040-订单提交成功-视图创建
课时4141-订单提交成功-演示结果
课时4242-总结_debug
课时4343-admin简单使用
课时4444-admin自定义界面
课时4545-中间件介绍
课时4646-自定义中间件