升级到Flask 0.11要注意哪些问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了升级到Flask 0.11要注意哪些问题相关的知识,希望对你有一定的参考价值。

参考技术A 有哪些变化?
Flask官方文档的变更日志中,提到了一共33处变化。我这里选择性地列出几个比较重大的变化,更详细的内容 请看文档 。
调试
新版本中移除了Flask应用中的 debug_log_format 属性,这意味着如果没有启用调试,那么Flask会默认记录日志,日志记录格式是硬编码在框架中的。不过开发者可以通过新增的 LOGGER_HANDLER_POLICY 配置键停用默认的日志记录程序,从而使用自定义的日志记录器。
模板
除了在调试模式之外,不会再自动重载模板。可以通过新增的 TEMPLATES_AUTO_RELOADT 配置键进行配置。
render_template_string()函数改为默认自动对模板变量进行自动转义,与 render_template() 的行为更加一致。
错误处理
在Flask中,一般推荐按如下方式注册错误处理程序:
@app.errorhandler(werkzeug.exceptions.BadRequest)
def handle_bad_request(e):
return 'bad request!'

在0.11版之前,如果在一个函数上装饰多个错误程序,那么各自的优先级是按照装饰/调用顺序处理。现在则改为按照异常的继承层级,意味着针对更加具体异常的处理程序会优先执行,而不再执行针对更普遍异常的程序。
另外,直接在应用实例上注册处理程序会报ValueError。
最重要的两个变化放到最后。
flask cli
最新的版本集成了Armin自己开发的 click 库,提供了 flask 命令行命令和 flask.cli模块,用于开启本地调试服务器。相对于过去使用 flask.run()方法,使用 flask 命令更快更可靠,而且可以替代 Flask-Script 第三方扩展。
在虚拟环境中安装Flask后,就可以直接在命令行使用 flask 命令。

模块导入
新版中弃用了以 flask.ext 形式导入扩展模块,应该改用 flask_foo。
如果你仍使用原来的形式,Flask 会对每个这样导入的扩展报 flask.exthook.ExtDeprecationWarning 警示。为了便利开发者,Flask团队提供了一个叫做 flask-ext-migrate 的迁移工具,可以自动改写导入语句。

Flask 打怪升级路线图,点击拾取

Flask 诞生于愚人节的玩笑,后来在很短的时间内大受好评,迅速 Python Web 开发者中流行开来。如今,Flask 已经成为轻量级 Web 框架的代言人。
今天就为大家罗列一下实验楼中,从基础入门到项目进阶的 Flask 打怪升级图,诸君依计行事,相信会慢慢感受到 Flask 的魅力。

1. Python Flask Web 框架
Flask 起手式,学习涉及环境安装,运行调试,静态文件,渲染模板,数据的请求接收以及重定向、响应和会话。
https://www.shiyanlou.com/courses/29


2. 基于 Flask 与 RethinkDB 实现TODO List
在 Flask 的基础上,引入了 RethinkDB + Backbone.js,最终实现了一个 TODO List 应用。 
https://www.shiyanlou.com/courses/359

Flask 打怪升级路线图,点击拾取


3. Flask 实现简单聊天室
基于 Flask  Server-Sent Event 实现的一个简单聊天室。
https://www.shiyanlou.com/courses/81

Flask 打怪升级路线图,点击拾取



4.  Python3 基于 Flask 框架搭建个人博客
本课程使用 Python 语言及 Flask 框架开发一个简单的博客系统。涉及 Flask Web 开发,使用 Peewee 构建数据模型、简单的 Jinja2 模板、Pygments 模块实现代码语法高亮。
https://www.shiyanlou.com/courses/1047

Flask 打怪升级路线图,点击拾取


5.  Flask + VueJS 全栈 Web 开发实战
本课程主要使用 Python 的 Flask 框架和 VueJS,通过留言板和论坛应用两个实战项目的练习,让大家用户 Flask + VueJS 进行 Web 开发的能力。
https://www.shiyanlou.com/courses/878

Flask 打怪升级路线图,点击拾取


6.  采用微服务架构基于 Flask 实现电商网站“淘贝网”
本课程采用微服务架构基于 Flask 实现电商网站“淘贝网”。整个网站系统采用微服务架构,将每个业务模块独立为一个内部的微服务。内部的服务包括用户服务、商城服务、购买服务和文件服务,用户访问前端界面后,会通过组合调用各个内部的微服务接口来完成指定的操作。
https://www.shiyanlou.com/courses/1219

Flask 打怪升级路线图,点击拾取


7.  Flask 实现一个问答社区
本课程主要使用 Flask 从零开始实现一个完整的问答社区项目,包含用户评论、点赞、回复、签到,收藏、加精、置顶、搜索,登录注册和邮件激活、密码找回等功能。
https://www.shiyanlou.com/courses/1443

Flask 打怪升级路线图,点击拾取


最终效果:

Flask 打怪升级路线图,点击拾取





怎么样,有没有跃跃欲试一条龙通关的冲动,想学习 Flask 的同学,行动起来!另外 Flask 实现一个问答社区,目前正在折扣中,点击「阅读原文」,即可了解此课程详细信息。


以上是关于升级到Flask 0.11要注意哪些问题的主要内容,如果未能解决你的问题,请参考以下文章

Datax连接mySql8.0.11升级驱动

Linux 0.11-读取硬盘前的准备工作有哪些-15

Selenium 3 升级到 Selenium 4 应注意哪些

一般在写SQL时需要注意哪些问题,可以提高查询的效率

学游戏设计都要注意哪些问题?

公告BSV节点软件发布最新升级版本v1.0.11