|
视频目录: 1-1 开宗明义 1-2 课程维护与提问 2-1 鱼书是一个什么样的产品 2-2 准备工作 2-3 使用官方推荐的pipenv创建虚拟环境(很好用哦~) 2-4 开发工具推荐 2-5 设置开发工具的默认解释器 2-6 flask最小原型与唯一URL原则 2-7 路由的另一种注册方法 2-8 app.run相关参数与flask配置文件 2-9 你并没有真正理解 if __name__的作用 2-10 响应对象:Response 3-1 搜索而不是拍照上传 3-2 书籍搜索与查询 1-数据API 3-3 书籍搜索与查询 2-搜索关键字 3-4 书籍搜索与查询 3-简单的重构 3-5 获取书籍数据:调用鱼书API 3-6 requests vs urllib 3-7 从API获取数据 3-8 使用jsonify 3-9 将视图函数拆分到单独的文件中 3-10 深入了解flask路由 3-11 循环引入流程分析 4-1 应用、蓝图与视图函数 4-2 用蓝图注册视图函数 4-3 单蓝图多模块拆分视图函数 4-4 request 对象 4-5 WTForms参数验证 4-6 拆分配置文件 4-7 Model First、Database First与Code First 4-8 定义第一个模型类 4-9 将模型映射到数据库中 4-10 ORM与CodeFirst区别 5-1 flask中经典错误 working outside application context 5-2 AppContext、RequestContext、Flask与Request之间的关系 5-3 详解flask上下文与出入栈 5-4 flask上下文与with语句 5-5 详解上下文管理器的__exit__方法 5-6 阅读源码解决db.create_all的问题 6-1 什么是进程 6-2 线程的概念 6-3 多线程 6-4 多线程的优势与好处 6-5 全局解释器锁GIL 6-6 对于IO密集型程序,多线程是有意义的 6-7 开启flask多线程所带来的问题 6-8 线程隔离 6-9 Flask中的线程隔离对象Local 6-10 Flask 中的线程隔离栈:LocalStack 6-11 LocalStack作为-Stack-的基本用法 6-12 LocalStack作为线程隔离对象的意义 6-13 flask中被线程隔离的对象 6-14 梳理串接flask的一些名词 7-1 ViewModel的基本概念 7-2 使用ViewModel处理书籍数据 上 7-3 使用ViewModel处理书籍数据 下 7-4 伪面向对象:披着面向对象外衣的面向过程 7-5 重构鱼书核心对象:YuShuBook 上 7-6 重构鱼书核心对象:YuShuBook 下 7-7 从json序列化看代码解释权反转 7-8 详解单页面与网站的区别 8-1 静态文件访问原理 8-2 模板文件的位置与修改方案_x264 8-3 Jinja2的概念 8-4 在Jinja2中读取字典和对象 8-5 流程控制语句 if 8-6 流程控制语句 for in 循环 8-7 使用模板继承 8-8 过滤器与管道命令 8-9 反向构建URL 8-10 消息闪现、SecretyKey与变量作用域 8-11 显示搜索结果页面 8-12 页面结构解析 9-1 viewmodel意义的体现与filter函数的巧妙应用 9-2 书籍详情页面业务逻辑分析 9-3 实现书籍详情页面 9-4 模型与模型关系 9-5 自定义基类模型 9-6 用户注册 9-7 Python的动态赋值 9-8 Python属性描述符实现getter与setter 9-9 ORM的方式保存模型 9-10 自定义验证器 9-11 redirect重定向 9-12 cookie 9-13 cookie的应用 9-14 login_user 将用户信息写入cookie 9-15 访问权限控制 9-16 重定向攻击 10-1 鱼豆 10-2 思维逻辑锻炼 10-3 事务与回滚 10-4 Python @contextmanager 10-5 灵活使用@contextmanager 10-6 结合继承、yield、contextmanager、rollback来解决问题 10-7 类变量的陷阱 10-8 合理使用ajax 10-9 书籍交易视图模型 10-10 处理时间 10-11 书籍详情页面 10-12 再谈MVC中的Model 10-13 重写filter_by 11-1 最近的礼物(复杂SQL的编写方案) 11-2 链式调用 11-3 完成最近的礼物(业务的四种编写方案) 11-4 我的礼物 一 (使用db.session和filter做查询) 11-5 我的礼物 二(group_by与funct.count统计联合使用) 11-6 我的礼物 三 (不要在函数中返回元组,而应该返回字典) 11-7 我的礼物 四 11-8 用户注销 11-9 我的心愿 一 11-10 我的心愿 二 (再谈循环导入的解决方案) 11-11 我的心愿 三 (谈谈重复代码的封装技巧) 12-1 忘记密码(重置密码流程分析) 12-2 first_or_404 12-3 callable 可调用对象的意义 12-4 HTTPException 一 12-5 HTTPException 二 12-6 装饰器app_errorhandler:AOP的应用 12-7 发送电子邮件 一 12-8 发送电子邮件 二 12-9 使用itsdangerous生成令牌 12-10 重置密码 12-11 异步发送电子邮件 12-12 鱼漂业务逻辑与Drift模型 12-13 合理利用数据冗余记录历史状态 12-14 鱼漂条件检测 12-15 完成鱼漂业务逻辑 12-16 交易记录页面 12-17 Drift ViewModel 一 12-18 Drift ViewModel 二 12-19 三种类模式的总结与对比 12-20 更好的使用枚举 12-21 超权现象防范 12-22 拒绝请求 12-23 邮寄成功 12-24 撤销礼物与心愿 12-25 向他人赠送书籍
|
|