‎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表示法 线性结构 单线链表 双链表 队列(链式) 队列(线式) 栈与双端队列 哈希表的基本结‎构 ‎哈希表冲突问题 哈希扩容 递归与栈 线性查找 二分查找 冒泡排序 选择排序 插入排序 归并排序 快速排序 树结构 ‎树结构的遍历 最大堆的增加操作 最大堆的删除操作 二叉树的查找 二叉树获取最小值 二叉树的添加 二叉树的删除‎⑩ 数据分析