Python学习路线
尚新途
① Python
Python入门
Python入门
Python介绍_特性_版本问题_应用范围 Python下载_安装_配置_第一行Python程序 开发环境介绍_交互模式的使用_IDLE介绍和使用
IDLE开发环境的使用_建立Python源文件
Python程序格式_缩进_行注释_段注释 简单错误如何处理_守破离学习法_程序员修炼手册 海龟绘图_坐标系问题_画笔各种方法
海龟绘图_画出奥运五环图
编程基本概念
程序的构成 对象的基本组成和内存示意图 引用的本质_栈内存和堆内存_内存示意图 标识符_帮助系统的简单使用_命名规则
变量的声明_初始化_删除变量_垃圾回收机制 链式赋值_系列解包赋值_常量 内置数据类型_基本算术运算符
整数_不同进制_其他类型转换成整数
浮点数_自动转换_强制转换_增强赋值运算符 时间表示_unix时间点_毫秒和微秒_time模块 多点坐标_绘出折线图_计算两点距离
布尔值_比较运算符_逻辑运算符_短路问题 同一运算符_整数缓存问题 字符串_unicode字符集_三种创建字符串方式_len()
字符串_转义字符_字符串拼接_字符串复制_input()获得键盘输入 字符串_str()_使用[]提取字符_replace()替换生成新字符串_内存分析
字符串_切片slice操作_逆序 字符串_split()分割_join()合并_join()效率测试 字符串_常用查找方法_去除首位信息_大小写转换_排版
字符串_format格式化_数字格式化操作 可变字符串_io.StringIO 运算符总结_位操作符_优先级问题
序列
列表_特点_内存分析 创建列表的4种方式_推导式创建列表 列表_元素的5种添加方式_效率问题
列表_元素删除的三种方式_删除本质是数组元素拷贝
列表_元素的访问_元素出现次数统计_成员资格判断 列表_切片slice操作 列表_排序_revered逆序_max_min_su
列表_二维列表_表格数据的存储和读取
元组_特点_创建的两种方式_tuple()要点 元组_元素访问_计数方法_切片操作_成员资格判断_zip() 元组_生成器推导式创建元组_总结
字典_特点_4种创建方式_普通_dict_zip_formkeys 字典_元素的访问_键的访问_值的访问_键值对的访问 字典_元素的添加_修改_删除
字典_序列解包用于列表元组字典 字典_复杂表格数据存储_列表和字典综合嵌套 字典_核心底层原理_内存分析_存储键值对过程
字典_核心底层原理_内存分析_查找值对象过程 集合_特点_创建和删除_交集并集差集运算
控制语句
Pycharm开发环境的下载安装配置_项目创建和运行 单分支选择结构_条件表达式详解 双分支选择结构_三元运算符的使用详解
多分支选择结构 选择结构的嵌套 while循环结构_死循环处理 for循环结构_遍历各种可迭代对象_range对象
嵌套循环 嵌套循环练习_九九乘法表_打印表格数据 break语句 continue语句 else语句 循环代码优化技巧(极其重要)
zip()并行迭代 推导式创建序列_列表推导式_字典推导式_集合推导式_生成器推导式 综合练习_绘制不同颜色的多个同心圆_绘制棋盘
函数
函数的基本概念_内存分析_函数的分类_定义和调用 形参和实参_文档字符串_函数注释 返回值详解 函数也是对象_内存分析
变量的作用域_全局变量_局部变量_栈帧内存分析讲解 局部变量和全局变量_效率测试 参数的传递_传递可变对象_内存分析
参数的传递_传递不可变对象_内存分析
浅拷贝和深拷贝_内存分析 参数的传递_不可变对象含可变子对象_内存分析 参数的类型_位置参数_默认值参数_命名参数
参数的类型_可变参数_强制命名参数
lambda表达式和匿名函数 eval()函数用法 递归函数_函数调用内存分析_栈帧的创建 递归函数_阶乘计算案例
嵌套函数_内部函数_数据隐藏 nonlocal_global LEGB规则
面向对象编程
面向对象和面向过程的区别_执行者思维_设计者思维 对象的进化故事 类的定义_类和对象的关系 构造函数__init__ 实例属性_内存分析
实例方法_内存分析方法调用过程_dir()_isinstance 类对象 类属性_内存分析创建类和对象的底层 类方法_静态方法_内存分析图示
__del__()析构方法和垃圾回收机制 __call__()方法和可调用对象 方法没有重载_方法的动态性 私有属性 私有方法
@property装饰器_get和set方法
面向对象的三大特征说明(封装、继承、多态) 继承 方法的重写 object根类_dir() 重写__str__()方法 多重继承 mro()
super()获得父类的定义
多态 特殊方法和运算符重载 特殊属性 对象的浅拷贝和深拷贝_内存分析 组合 设计模式_工厂模式实现 设计模式_单例模式实现
Python开发环境搭建
开发环境PyCharm(非虚拟环境) 开发环境VSCode(非虚拟环境) Python虚拟环境的基本使用 开发环境PyCharm(虚拟环境)
开发环境VSCode(虚拟环境) 虚拟环境工具的使用
Python 深入与提高
异常处理
异常的本质_调试核心理念 try_except基本结构 try_多个except结构 else结构 finally结构 常见异常汇总和说明
with上下文管理 traceback模块的使用_异常写入日志文件 自定义异常类_raise抛出异常 pycharm的调试模式
文件处理
file文件操作_操作系统底层关系_写入文件 编码知识_中文乱码问题解决 关闭流要点1_try异常管理 关闭流要点2_with上下文管理_现场还原
文本文件的读取 enumerate()函数和推导式生成列表_操作每行增加行号 二进制文件的读写_图片文件拷贝
文件对象常用方法和属性总结_seek()任意位置操作 使用pickle实现序列化和反序列化_神经元记忆移植
CSV文件的读取_写入 os模块_调用操作系统可执行文件_控制台乱码问题 os模块_获得文件信息_创建文件夹_递归创建
os.path模块_常用方法
os模块_使用walk遍历 shutil模块_文件和目录拷贝 shutil和zipfile模块_压缩和解压缩 递归算法原理_阶乘计算
递归算法原理_目录树结构展示
模块
模块化编程理念_什么是模块_哲学思想 模块化编程的流程_设计和实现分离 模块导入_import和from_import语句详解和区别
import加载底层原理_importlib模块
包的概念和创建包和导入包 包的本质和init文件_批量导入_包内引用 sys.path和模块搜索路径详解 模块的本地发布_模块的安装
PyPI官网_远程上传和管理模块_PIP方式安装模块
GUI编程
GUI编程和tkinter介绍_第一个GUI程序 PEP8编码规范_窗口大小和位置 GUI编程整体描述_常用组件汇总 GUI程序的经典面向对象写法
Label组件_tkinter中图像正确显示全局变量写法
options选项详解_底层源码分析和阅读_可变参数和运算符重载复习 Button_anchor位置控制 Entry_StringVar_登录界面设计和功能实现
Text多行文本框详解_复杂tag标记 Radiobutton_Checkbutton详解 Canvas画布组件 Grid布局管理器详解 计算器软件界面的设计
Pack布局管理器_钢琴软件界面设计 Place管理器_绝对位置和相对位置 扑克游戏界面设计_增加事件操作
事件机制和消息循环原理_鼠标事件_键盘事件_event对象
lambda表达式_事件传参应用 三种事件绑定方式总结 optionmenu选项菜单_scale滑块 颜色框_文件选择框_读取文件内容
简单对话框_通用消息框_ttk子模块问题 主菜单_上下文菜单 记事本项目 画图项目
Python 网络与并发编程
并发编程
并发编程-进程与线程简介 并发编程-多线程的实现 并发编程-join的使用与主子线程 并发编程-守护线程 并发编程-锁的使用
并发编程-锁的理解
并发编程-死锁 并发编程-信号量 并发编程-事件 并发编程-队列 并发编程-生产消费者模式 并发编程_进程的实现
并发编程_进程的通信
并发编程_Manger的使用 并发编程_进程池的使用 并发编程_协程介绍 并发编程_实现任务切换(yield方式) 并发编程_greenlet的使用
并发编程_gevent的使用 并发编程_asyncio的使用 并发编程_asyncio的await(python3.7以上) 并发编程的总结
网络通信
IP 子网掩码、端口号 协议 socket 传输层协议 udp发送数据 接收数据 echo服务 简述tftp 构造下载请求 编写下载器 广播
网络通信过程 路由器 tcp通信模型 三次握手四次挥手 tcp服务器 tcp客户端 并发服务器
Python 核心特性
生成器和装饰器
生成器与列表的对照使用 生成器的其他生成方式以及元素的遍历方式 迭代器的使用 闭包的定义和使用 使用闭包完成求两个点之间的距离
使用闭包添加日志功能的引入 使用闭包实现不修改源码添加功能 装饰器的基本使用 多个装饰器的使用 指定参数个数的装饰器
通用装饰器 Python动态添加属性(对象属性,类属性) Python动态添加方法(对象方法,静态方法,类方法)
__slots__的对动态添加属性及方法的限制作用
函数式编程
range的使用 functools之偏函数partial的使用 functools之wraps的使用 内建函数之map的使用 functools之reduce函数的使用
内建函数之filter的使用 内建函数之sorted()的使用
正则表达式
正则表达式概述 正则表达式之re模块的基本操作 正则表达式之匹配字符 正则表达式之表示数量 正则表达式之原始字符串
正则表达式之表示边界 正则表达式之匹配分组 正则表达式之高级用法 正则表达式之贪婪与非贪婪贪
内存管理
元类-使用type动态创建类 类装饰器的使用 大小整数池以及intern机制 内存管理之引用计数 内存管理之隔代回收机制
② 数据库编程基础
数据库环境搭建
数据库相关概念 MySQL数据库的优点
MySQL的下载 MySQL的安装 MySQL常用操作
Navicat下载安装激活
MySQL 的使用
创建_查看数据库 删除_修改数据库 创建表_查看表 修改表名称_字段名_类型 修改表_添加字段 删除字段_删除表
索引的简介 自动创建索引 创建表时候手动创建普通索引和唯一索引 创建时创建主键全文复合索引 使用create index创建索引
主键约束 删除主键约束 添加唯一约束 删除唯一约束 非空约束 默认值约束 自动增长约束 创建表时候添加外键约束 删除外键约束
插入数据1 插入数据2 插入数据3 修改数据 删除数据 使用图形界面操作数据
数值类型_整数类型 数值类型_浮点定点类型 BIT类型 日期时间类型 字符串类型 枚举_set_JSON数据类型
查询所有字段_指定字段 查询中使用算术运算符_起别名 查询结果排序 条件查询1 条件查询2 模糊查询 多条件查询and_or的使用 limit的使用_分页查询
字符串函数 数值函数 日期时间函数 流程函数 多行函数
分组查询 什么是多表查询 交叉连接查询 自然连接查询 等值连接查询 SQL92完成连接查询 自连接 非等值连接查询 左连接_右连接 多表连接查询练习
什么是子查询 单行子查询 多行子查询 表子查询 子查询练习 多表查询_子查询综合练习
什么是视图 视图创建 查看视图 修改视图 删除视图 更新视图 更新视图的限制条件
索引简介 索引分类 自动创建索引 创建表时候创建索引 为已存在的表创建索引1 为已存在的表创建索引2 删除索引 使用图形化界面操作索引
用户登录退出MySQL数据库 创建_删除普通用户 修改密码 找回密码 权限管理
事务的概念 事务控制语句 事务的隔离级别 第一范式 第二范式 第三范式
python操作mysql
vscode配置python环境 python连接mysql 插入_删除_修改数据 查询漏洞 添加异常处理 dbUtil工具类
项目-音乐播放器
项目_登录 加载主窗口 导入音乐 刷新音乐列表 删除音乐 播放音乐
③ Linux 环境编程基础
Linux
Linux_课程介绍 Linux_Linux简介 Linux_VMWare安装及使用 Linux_安装Linux Linux_目录介绍 Linux_Linux中的路径
Linux_常用命令_pwd命令
Linux_常用命令_cd命令 Linux_常用命令_ls与ll命令 Linux_常用命令_clear、touch、cat命令 Linux_常用命令more、head、tail命令
Linux_常用命令_mkdir命令 Linux_常用命令_cp命令 Linux_常用命令_rm、mv命令 Linux_常用命令_vi、vim
Linux_常用命令_reboot、halt
Linux_常用配置_设置时区 Linux_常用配置_启动网络 Linux_常用配置_修改网段 Linux_常用配置_设置网络类型
Linux_常用配置_快照与克隆
Linux_Xshell的安装与使用 Linux_上传与下载_Xftp的使用 Linux_上传与下载_lrzsz工具 Linux_文件的压缩与解压缩处理
Linux_安装JDK Linux_安装Tomcat Linux_安装MySQL
④ 网页编程基础
html5
互联网三大基石 HTML入门 Head标签的子标签 body中基本标签 HTML中body中的标签 超链接标签 图片标签 表格标签
表单标签
Iframe标签 Frameset标签 层div标签 HTML5介绍 HTML5增强表单标签 HTML5中新增结构标签 HTML5中音频视频标签
HTML5中绘图和其他标签
CSS 样式
css介绍 CSS的引入方式 css中常用选择器 css中其他选择器 css中的其他属性 css中的定位 盒模型 css3中的选择器
css3中常用的属性 css项目搭建
JavaScript
js概念的介绍 js的引入方式 js中变量的使用 js中数据类型 js中的运算符 js中的选择语句 js中函数的使用 js中Date和Math对象
JS中String对象和Globa对象
JS中数组学习 JS中Array对象学习 JS中事件的学习 JS中BOM和DOM对象入门 BOM对象-window
BOM对象-location-history-navigator
DOM结构节点类型 DOM编程获得元素的方式 DOM编程-操作元素属性 DOM编程-操作元素样式
DOM编程-操作元素文本和值 DOM编程-操作元素节点对象 DOM编程实例
表单元素操作 表单验证 表单校验 自定义对象 prototype
jquery
jQuery概述 认识jQuery的$ jQuery的选择器A、B、C、D、E 操作页面的样式 操作页面的文本和值 操作页面的元素 事件处理
动画功能 jQuery插件 jQuery封装原理
Ajax
Ajax的介绍 Ajax的基本使用 Ajax的传递参数 Ajax测试服务器的编写 Ajax的状态码与JSON响应处理 Ajax的错误处理与同步处理
Ajax简单封装
Ajax封装参数使用 Ajax封装处理响应 Ajax封装默认参数 JQuery中Ajax的基本使用 JQuery中Ajax的beforend与JQuery的serialize
JQuery中get与post的使用
vue框架
vue基础
Vue环境搭建与创建项目 Vue基础知识-模版语法 Vue基础知识-条件渲染 Vue基础知识-列表渲染、事件处理 Vue基础知识-表单输入绑定、计算属性、样式处理 Vue基础知识-组件
vue路由
Vue路由-基础知识 Vue路由-进阶 Vue路由-实例
Axios网络请求
Axios网络请求基础 Axios网络请求封装 Axios网络请求跨域处理
Vue状态管理
Vue状态管理-引入Vuex Vue状态管理-核心概念 Vue插件-Swiper Vue插件-ElementUI Vue打包部署
Flask
虚拟环境
虚拟环境的作用和原理 virtualenv安装并使用 virtualenv wrapper安装并使用
Flask视图基础和URL
Flask准备工作_开发环境说明_检验flask是否安装 Flask准备工作_认识Web中的URL
Flask准备工作_web服务器和应用服务器以及web应用框架
Flask简介 第一个flask程序 Pycharm开启flask项目的debug模式 Flask项目修改host和port Flask2种配置文件方式开启debug
URL与函数映射_传递参数问题 URL与函数映射_参数类型问题 URL传递参数的两种方式 url_for函数使用详解 了解URL参数类型底层原理
自定义URL转换器步骤 自定义URL转换器_to_python方法的作用 自定义URL转换器_to_url方法的作用 Flask开发_必须会的细节知识
页面跳转和重定向 视图函数Response返回值类型 视图函数Response返回值类型_自定义Response子类步骤
Flask之Jinja2模版
模版简介 Jinja2模版介绍和查找路径 模版传参及其技巧 模版中使用url_for
Jinja2过滤器_基本使用 Jinja2过滤器介绍 Jinja2过滤器_default详解 Jinja2过滤器_常用过滤器讲解 Jinja2过滤器_自定义过滤器的步骤
Jinja2过滤器_自定义时间处理过滤器案例
控制语句_if语句详解 控制语句_if语句应用场景 控制语句_for语句 控制语句_for循环99乘法表案例 宏的概念及基本使用
宏的导入和注意事项
include标签使用详解 set和with语句以及模版中定义变量 Flask项目加载静态文件 模版继承详解_理论 模版继承详解_实战
Flask视图高级
add_url_rule和app.route原理剖析 类视图_标准类视图使用步骤 类视图_类视图的好处_支持继承 类视图_标准类视图使用场景
类视图_基于调度方法的类视图 类视图_类视图中使用装饰器
蓝图简介 蓝图的基本使用 蓝图中模版文件寻找规则 蓝图中静态文件寻找规则 url_for反转蓝图注意事项 蓝图_子域名实现详解
Flask高级
Cookie的使用场景举例 Cookie的基本概念 Flask设置和删除cookie Flask设置cookie过期时间 Flask设置Cookie的有效域名
Flask_session的基本概念 Flask_操作session Flask_session的使用场景 Flask_Local对象隔离线程间的对象_即ThreadLocal变量
Flask_app上下文详解 Flask_request上下文详解 Flask_线程隔离的g对象使用详解 Flask_钩子函数概念_常见的钩子函数
Flask_before_first_request和before_request详解 Flask_钩子函数context_processor详解 Flask_钩子函数errorhandler详解
Flask_信号机制 Flask_信号使用场景_存储用户登录日志
Flask_内置信号讲解 Flask_内置信号template_rendered使用详解 Flask_内置信号got_request_exception使用详解
WTForms介绍和安装 WTForms做表单验证的基本使用 WTForms常用验证器 WTForms自定义验证器_验证码实现 WTForms渲染模版
Flask_上传文件 Flask_访问已上传成功的文件 利用flask-wtf验证上传的文件 Restful接口规范 Flask_RESTful的基本使用
Flask_RESTful功能之参数验证_基本用法 Flask_RESTful功能之参数验证_更多用法 Flask_RESTful返回标准化参数
Flask_RESTful返回标准化参数强化_重命名属性和默认值
Flask_RESTful返回标准化参数强化_复杂的参数结构 Flask_RESTful结合蓝图使用 Flask_RESTful渲染模版
Flask数据库
Flask数据库章节内容介绍_安装Mysql及注意事项 SQLAlchemy介绍_安装_连接数据库 ORM介绍_SQLAlchemy优缺点说明
基于SQLAlchemy定义ORM模型并将其映射到数据库中
SQLAlchemy对数据的增删改查操作 SQLAlchemy常用数据类型_解说 SQLAlchemy常用数据类型_实战
SQLAlchemy中Column常用参数
query查询函数的使用 filter方法常用过滤条件 SQLALchemy实现外键及其四种约束讲解 ORM层面外键和一对多关系
引入relationship以后的好处
ORM层面外键和一对一关系实现 ORM层面外键和多对多关系实现 ORM层面删除数据注意事项
ORM层面的relationship方法中cascade使用
SQLAlchemy实现查询数据排序 limit、offset、slice使用_实现分页 懒加载查询技术 SQLAlchemy分组group_by和过滤分组having
join的使用_高级查询之多表查询
subquery的使用_高级查询之子查询 aliased的函数_高级查询之别名使用 Flask-SQLAlchemy的介绍和安装 Flask-SQLAlchemy的使用
数据库迁移工具alembic介绍_安装
数据库迁移工具alembic使用 常用的alembic命令和参数解释 alembic使用常见错误及解决办法
Flask-SQLAlchemy和alembic结合使用 Flask-Script介绍和基本使用 Flask-Script实战场景和写命令脚本技巧
Flask项目结构重构_体现专业性 Flask-Migrate介绍_使用_注意事项
Flask尚新途电商后台项目
项目的介绍 (后端)VSCode创建Flask基本结构 (后端)数据库参数配置 (后端)Flask项目增加基本插件 (后端)拆分项目结构 (后端)模型建立与映射 (后端)模型的完善
(后端)用户登录操作 (后端)用户注册操作 (后端)响应信息优化
(后端)VSCode配置项目环境 (后端)token基本原理 (后端)生成token并验证 (后端)登录装饰器
(前端)vue-cli脚手架的安装 (前端)vue-ui创建项目 (前端)vue-cmd创建项目 (前端)插件安装与项目结构的介绍 (前端)ES6的规范介绍 (前端)vue-cli清理项目结构
(前端)创建登录组件 (前端)登录组件布局 (前端)登录logo的设置 (前端)登录form的显示 (前端)登录form数据获取与验证
(前端)登录预验证与表单重置 (前端)登录操作 (前端)登录失败处理 (前端)login_required的编写
(前端)请求拦截器设置token (前端)响应拦截器设置 (前端)主页布局 (前端)退出操作与拦截器的测试
(后端)菜单model的创建 (后端)菜单测试数据填充 (后端)菜单接口逻辑实现
(前端)菜单的展示 (前端)菜单的优化 (前端)欢迎页面的设置
(后端)根据ID获取用户信息 (后端)获取用户列表 (后端)更新用户信息 (后端)删除用户
(前端)修改菜单路由地址 (前端)菜单选项高亮问题 (前端)用户列表布局 (前端)用户列表的数据填充 前端)用户列表使用分页 (前端)用户查询功能实现
(前端)添加用户 编辑用户 删除用户 重置密码
权限管理
添加角色 修改角色 删除角色 用户角色权限关系 用户分配角色 删除角色权限实现 角色权限的排序显示 分配权限实现
商品分类管理
商品分类介绍与组件配置 商品分类查修删接口实现 获取商品分类列表树(分页) 商品分类TreeTable的显示 增加商品分类实现
分类参数增加、修改和删除实现 分类管理分类选项优化 分类管理增加属性 分类管理增加值、删除值实现
商品管理Model创建 商品管理数据的填充 商品管理页面布局 商品管理商品列表接口实现 商品管理商品列表展示 商品管理商品搜索 商品管理删除接口实现 商品管理删除、添加实现
商品管理setps与tab绑定显示 商品管理增加基本信息布局 商品管理增加基本信息优化 商品管理增加静态参数显示 商品管理增加动态参数显示
图片上传
图片上传接口实现 上传商品图片 删除上传图片 上传图片的预览 富文本的使用 增加商品前数据处理 商品model添加 商品添加接口实现 商品添加前后端结合
订单管理
订单管理Model与初始化数据 订单管理获取订单列表接口实现 订单列表布局与显示 订单管理显示物流窗口 订单管理物流信息接口编写 订单管理显示物流信息 1
图表绘制
数据统计显示图表 数据统计接口实现 数据统计获取后台数据显示
⑦ Tornado 框架
Tornado简介
Tornado的介绍 三大框架的对比 Tornado的优势在哪 Tornado的高并发原理 Tornado使用注意事项
Tornado 深入学习
第一个Tornado程序 Tornado运行原理 Tornado环境参数的传递 TornadoURL的使用 RequestHandler的使用 静态文件与重定向的使用
Template的使用 Template案例 Template继承的使用 UIModule的使用 UIModule使用css与js 个人信息案例(环境搭建)
aiomysql的初步使用 tornado与aiomysql整合 个人信息案例(增加数据) 个人信息案例(修改数据)
orm创建表 orm增加数据 orm查询数据 orm更新与删除数据 orm异步的使用
wtforms的验证 wtforms的呈现 wtforms结合peeweer的使用
Tornado项目
项目介绍 项目结构的搭建 前端项目的搭建
UserModel的创建 用户注册(无验证码 封装邮件工具类 发送邮件接口开发
用户注册(有验证码) 用户登录(无token) 用户登录(设置token) 通过token获取用户 登录验证装饰器的使用 修改个人信息 上传头像的使用
论坛主页显示 获取单帖子 获取不同分类帖子 发表帖子 获取个人帖子 获取帖子评论信息 发表评论信息 获取个人评论信息
增加收藏内容 获取我的收藏信息 删除我的收藏信息 增加关注信息 显示关注状态 取消关注 显示我的关注信息 个人主页回显关注数据
项目部署1 项目部署2
⑥ Django2 框架
Django初级
django介绍和相关术语-django介绍、BS和CS架构 django介绍和相关术语-MVC、MTV和ORM python虚拟环境学习-虚拟环境介绍及安装
python虚拟环境学习-虚拟环境优化 项目搭建-cmd命令行搭建 项目搭建-pycharm搭建 django配置
URLConf调度器-工作原理 URLConf调度器-简单示例 URLConf调度器-路径转换器 URLConf调度器-默认值、异常处理和引用调度器
URLConf调度器-额外参数、反向解析和命名空间
模型-项目中应用 模型-应用sqlite数据库 模型-字段Field 模型-模型之间的关系 模型-新增、修改方法 模型-查询方法-过滤器
模型-查询方法-过滤器和字段检索 模型-查询方法-字段检索和关系模型简单检索
查询方法-一对一和一对多关系模型检索 模型-查询方法-多对多关系模型检索 模型-查询方法-聚合函数和分组查询
模型-删除方法、刷新方法和Q对象 模型-F对象 模型-使用SQL语句和总结
视图-应用FBV和CBV 视图-CBV说明和错误响应 视图-视图装饰器和HttpRequest 视图-HttpRequest和QueryDict
视图-HttpResponse和JsonResponse 视图-FileResponse 视图-快捷方法render和redirect
视图-快捷方法redirect 视图-内置通用视图类 视图-快捷方法get_object_or_404、get_list_or_404 视图-内置通用视图类
模板django引擎-配置和基本用法 模板django引擎-变量 模板django引擎-标签基本用法和if、firstof、for标签
模板django引擎-for标签项目实践
模板django引擎-标签中的布尔运算符、逻辑运算符及其他常用标签
模板django引擎-过滤器 模板django引擎-include标签 模板django引擎-静态文件 模板django引擎-extends模板继承
admin后台管理-配置、创建管理员账号和应用 admin后台管理-管理简单模型 admin后台管理-管理一对一和一对多关系模型
admin后台管理-管理多对多关系模型和自定义管理类
admin后台管理-自定义管理类 admin后台管理-自定义模型批量管理操作 admin后台管理-自定义管理后台模板
会话技术-会话技术和cookie简介 会话技术-应用基本cookie 会话技术-应用加密cookie 会话技术-session简介和session五种应用方式
会话技术-session配置和源码分析SessionMiddlerware类 会话技术-源码分析SessionBase类 会话技术-源码分析SessionStore类
会话技术-项目实践-新建项目 会话技术-项目实践-应用session实现登录功能 会话技术-项目实践-login_required装饰器和退出登录
分页器-Paginator类和Page类 分页器-创建项目、生成测试数据 分页器-项目中简单应用分页器 分页器-应用样式和上下翻页
分页器-分页栏页码实现
web请求生命周期分析-概述和网络核心结构 web请求生命周期分析-TCP协议 web请求生命周期分析-HTTP协议
web请求生命周期分析-服务器相关协议和nginx服务器
web请求生命周期分析-发送请求和路由转发 web请求生命周期分析-报文传输、nginx和uWSGI
web请求生命周期分析-WSGIHandler处理请求 web请求生命周期分析-中间件process_request
web请求生命周期分析-中间件process_view、process_response、process_exception web请求生命周期分析-中间件、视图、模型、模板
web请求生命周期分析-返回response
Django进阶
验证码-简介、常见类型和实现思路 验证码-实现登录 验证码-生成验证码图片 验证码-生成验证码图片和项目中应用
验证码-项目中应用验证码
中间件-默认中间件和自定义中间件process_request 中间件-项目测试自定义中间件process_request
中间件-项目测试自定义中间件process_response和process_view
中间件-项目测试自定义中间件process_exception 中间件-项目测试自定义中间件process_template_response
中间件-常见自定义中间件功能和总结
日志-概述、配置和Loggers简介 日志-Loggers配置及使用 日志-Handler配置及使用 日志-内置Handlers 日志-handlers和Filters
日志-自定义Filters和Formatters
LogRecord对象和使用默认配置建立项目 日志-项目实践-常见配置 日志-项目实践-常见配置效果和RotatingFileHandler演示
日志-项目实践-Loggers分层和TimedRotatingFileHandler 日志-项目实践-SMTPHandler
日志-项目实践-自定义Handler、自定义Filter和常见Formmater
信号signals-概述和内置信号 信号signals-定义信号、接收器 信号signals-信号注册和信号断开连接 信号signals-发送信号和项目实践
信号signals-项目实践
缓存redis-概述和redis简介 缓存redis-配置 缓存redis-配置和手动操作redis 缓存redis-全站缓存 缓存redis-视图函数缓存
缓存redis-模板文件缓存 缓存redis-低级缓存 缓存redis-会话缓存
Celery-概述 Celery-异步任务配置和task编写 Celery-异步任务调用任务和启动celery Celery-异步任务获取结果
Celery-定时任务 Celery-任务绑定和任务钩子 Celery-任务编排 Celery-管理和监控 DebugToolBar
Django高级
REST framework-Rest介绍和URI REST framework-请求方法get和post REST framework-请求方法put和
delete
REST framework-资源的表述
REST framework-资源的链接和状态的转移 REST framework-状态的转移 REST framework-框架安装、使用和配置
REST framework-序列化介绍和创建序列化类
REST framework-序列化-序列化和反序列化 REST framework-序列化-项目实践get和post REST framework-序列化-curl命令和项目实践
REST framework-序列化-关系模型的序列化 REST framework-序列化-关系模型的序列化
REST framework-请求和响应-request和response对象 REST framework-请求和响应-视图包装器和实践
REST framework请求和响应-格式后缀
REST framework-基于类的视图(CBV) REST framework-身份验证和权限管理 REST framework-JWT介绍和组
成
REST framework-JWT-项目实践 REST framework-JWT使用方式和特点 REST framework-JWT-项目实践
REST framework-xadmin REST framework-节流控制 REST framework-版本控制-配置和AcceptHeaderVersioning
REST framework-版本控制-AcceptHeaderVersioning
REST framework-版本控制-URLPathVersioning、QueryParameterVersioning和NamespaceVersioning
项目部署-概述和环境介绍 项目部署-安装python环境 项目部署-django程序处理 项目部署-安装和使用uWSGI1
项目部署-nginx学习-main、event和http基础配置 项目部署-nginx学习-日志、SSL证书和压缩配置
项目部署-nginx学习-文件缓存、server和location配置 项目部署-nginx学习-负载均衡配置
文件云存储-概述和创建项目 文件云存储-项目中使用本地存储 文件云存储-项目使用云存储
项目部署-nginx安装 项目部署-nginx部署django项目 项目部署-nginx负载均衡部署django项目
富文本DjangoUeditor-概述和安装 富文本DjangoUeditor-建立项目和UEditorField详解
富文本DjangoUeditor-UEditorField详解、模型应用UEditorField和admin管理模型 富文本DjangoUeditor-页面中显示富文本
文件上传和下载-admin管理后台实现 文件上传和下载-自定义upload_to函数 文件上传和下载-自定义实现文件上传
文件上传和下载-FileField和ImageField默认保存类源码分析 文件上传和下载-自定义实现文件下载
富文本DjangoUeditor-自定义实现富文本的新增 富文本DjangoUeditor-自定义实现富文本的修改和全局配置
项目开发流程-软件项目流程 项目开发流程-django项目开发流程
邮箱验证和短信验证-建立项目 邮箱验证和短信验证-smtplib发送邮件 邮箱验证和短信验证-项目中集成验证邮件验证码
邮箱验证和短信验证-项目中完整实现邮箱验证和总
结
邮箱验证和短信验证-云片网发送短信验证码实现 邮箱验证和短信验证-项目中实现短信验证
Git
Git_课程介绍 Git_Git概念介绍 Git_其他常用版本管理工具简介 Git_版本控制工具的作用
Git_集中式版本控制工具和分布式版本控制工具的对比 Git_Git版本控制工具特性 Git_Git本地命令_配置和初始化
Git_Git本地命令_存储流程_添加文件提交文件和查看状态 Git_Git本地命令_文件对比和查看日志
Git_Git本地命令_简单入职和版本切换 Git_Git本地命令_删除文件和恢复文件 Git_Git本地命令_分支管理操作
Git_远程仓库操作_创建SSH秘钥 Git_远程仓库操作_Gitee创建远程仓库 Git_远程仓库操作_远程仓库操作_推送和拉取
Git_远程仓库操作_远程仓库操作_仓库地址管理
Git_远程仓库操作_远程仓库冲突问题 Git_远程仓库操作_远程仓库冲突解决 Git_远程仓库操作_远程仓库分支操作 Git_邀请加入仓库
大型电商项目
商城商品模块数据库设计 商品模块_加载数据 包含FrameSet模板嵌套 商品首页嵌套模板 商品首页数据动态展示 商品首页添加分页功能 商品详情功能 商品模块_猜你喜欢功能
用户模块_数据库表设计 用户模块_用户注册功能 用户模块_用户登录功能 用户模块_退出登录功能 用户模块_地址管理
购物车模块_加入购物车操作 购物车模块_修改购物车商品数量 用户未登录_加入购物车 用户未登录_修改删除购物车商品 购物车页面登录功能
跳转结算页面 结算页面2 支付宝支付功能Demo 商城支付功能 项目部署
自动化操作办公软件、邮件、定时任务等
xlwt创建Excel并写数据 xlrd读取Excel数据 xlutils修改Excel数据 xlwt设置样式 数据的汇总案例 表格的拆:
openpyxl读取数据 openpyxl创建excel 多个excel合并1个excel中1个sheet 多个excel合并1个excel中多个sheet
生成excel工资条 隔行变色 快速统计加班时间 快速查excel重复数据 身份证号提取信息
word的基本操作 设置word样式 生成通知书 读取word文档 通过模板生成文档 word转换pdf 读取pdf内容 合并pdf文件 拆:pdf文件 加密pdf文件
创建ppt与基本操作 ppt增加图片 ppt增加流程图 ppt绘制条图 ppt绘图图表样式 ppt绘制折线图与饼图
发送普通邮件 发送HTML邮件 发送附件邮件 批量发送邮件(工资条) zmail的使用
windows定时任务 linux或os定时任务 发送钉钉普通消息 发送钉钉卡片消息 压缩文件的操作 压缩包密码破解
⑧ Python 爬虫开发
爬虫介绍与常用工具
爬虫介绍 爬虫常用软件安装与使用 第一个爬虫 Request对象与User-Agent的使用 get请求的使用 post请求的使用 百度贴吧案例
ajax请求的使用 https请求的问题
爬虫开发常用模块
动态UserAgent的使用 opener的使用 proxy代理的使用 cookie的使用 cookie的保存与使用 URLError的使用 requests的使用
数据提取与验证码识别
数据提取的介绍 数据提取之re的使用 内涵段子练习 BS4的使用 xpath的使用 pyquery的使用 json模块的使用 jsonpath的使
用
猫眼电影需要与分析 猫眼电影xpath写法 猫眼电影bs4写法 猫眼电影pyquery写法 猫眼电影re写法
tesseract的使用 selenium的介绍与安装 selenium的基本使用 selenium参数的使用 直播网练习 selenium的滚动条的操作
云打码使用 云打码登录 爬虫之多线程 爬虫框架类设计 爬虫框架功能实现
scrapy 框架简介与配置
scrapy的介绍与安装 scrapy的基本使用 scrapy提取数据方法 scrapy中pipeline的使用 scrapy中setting配置信息
scrapy中细节问题与爬虫深度与广度的思路 scrapy爬取小说案例 scrapy爬取小说补充
scrapy 框架高级
scrapy中crawlspider的使用 scrapy中imagepipeline的使用 scrapy动态UA的设置 scrapy动态Proxy的设置
scrapy中Reqeust与Response对象与登录方法
爬虫数据存储
Mongo的使用 Mongo的数据库实例与集合的操作 Mongo的数据CRUD Mongo的简单查询 Mongo与Python的交互
将爬虫获取到的数据保存到数据库
动态数据抓取
splash的介绍与docker的安装 docker的服务开启与关闭 splash与request的结合 splash与scrapy的结合 selenium与scrapy的结
合
某家网站数据的获取分析与实现 某家网站数据的保存
分布式爬虫
scrapy-redis的介绍 scrapy-redis环境搭建-Liunx的安装 scrapy-redis环境搭建-Liunx软件安装与克隆
scrapy-redis环境搭建-windows软件安装
分布式1写法 分布式2写法 分布式3写法 Redis中取出数据保存到Mongo
docker 容器扩展
Docker_课程介绍 Docker_什么是Docker Docker_Docker和VM的对比 Docker_Docker的特点
Docker_Docker架构讲解 Docker_安装Docker Docker_Docker管理_启动_停止_状态查看 Docker_配置阿里镜像加速器
Docker_镜像管理_什么是镜像 Docker_镜像管理_搜索镜像 Docker_镜像管理_下载镜像 Docker_镜像管理_查看本地镜像 Docker_镜像管理_删除本地镜像
Docker_容器管理_创建容器 Docker_容器管理_查看容器 Docker_容器管理_启动容器 Docker_容器管理_停止容器 Docker_容器管理_强制杀死容器进程
Docker_容器管理_创建并启动容器 Docker_容器管理_访问容器 Docker_容器管理_查看容器日志 Docker_容器管理_查看容器中进程
Docker_容器管理_查看容器详情 Docker_容器管理_容器和宿主机间复制文件 Docker_容器管理_暂停和恢复容器 Docker_容器管理_删除容器
⑨ 算法与数据结构
算法与数据结构
数据结构与算法简介 大O表示法 线性结构 单线链表 双链表 队列(链式) 队列(线式) 栈与双端队列 哈希表的基本结
构
哈希表冲突问题 哈希扩容 递归与栈 线性查找 二分查找 冒泡排序 选择排序 插入排序 归并排序 快速排序 树结构
树结构的遍历 最大堆的增加操作 最大堆的删除操作 二叉树的查找 二叉树获取最小值 二叉树的添加 二叉树的删除
⑩ 数据分析