Flask之巩固20-29

20、蓝图来了,我大量采用了蓝图,真的太方便了,它是View函数的封装版本,有点像Fragment的意思哈

你在蓝图里也一组页面的业务逻辑接口就是了,最要把蓝图注册到App中就行了

 

21、蓝图也有路由,但我没有用,我用的是add_url_rule方式,欧耶

@bp.route('/register', methods=('GET', 'POST'))

 

22、login_required,这个是老同学了,一个装饰器函数,判断登陆的时候用的,欧耶

 

23、g 在jinja2模板中自动可用,你知道jinja2模版的优势就是能直接用Flask中的对象

 

24、jinja2模版继承的事情,还有好多知识,我不记了,因为用Vue要独立前端下来,Flask做纯后端

 

25、项目可安装化,这个牛逼了,头回接触,还有点懵逼呢,可以通过pip安装项目了

 

26、单元测试,提到了coverage模块, 这是什么鬼啊?

coverage run -m pytest

在终端中,可以看到一个简单的覆盖率报告:(接口自动化加上覆盖率)

coverage report

Name                 Stmts   Miss Branch BrPart  Cover
------------------------------------------------------
flaskr/__init__.py      21      0      2      0   100%
flaskr/auth.py          54      0     22      0   100%
flaskr/blog.py          54      0     16      0   100%
flaskr/db.py            24      0      4      0   100%
------------------------------------------------------
TOTAL                  153      0     44      0   100%

还可以生成 HTML 报告,可以看到每个文件中测试覆盖了哪些行:

coverage html

 

27、部署方式,我比较薄弱啊,我用的是WSGI默认的啊,显然作为产品是不行的,这块需要跟进一下

 

28、https://dormousehole.readthedocs.io/en/latest/becomingbig.html#id2 阅读源码这条路不错

 

29、Flask 的主要代码都在 Werkzeug 和 Jinja2 这两个库内。这两个库起了主要作用。 Flask 只是把它们粘合 在一起而已

对于一个项目来讲,底层框架的切入点很重要。因为如果不重视这一 点,那么框架会变得非常复杂,势必带来陡峭的学习曲线,从而吓退用户

https://dormousehole.readthedocs.io/en/latest/design.html 这里还有干货,我艹,我原来都不知道

Flask 本身只是 Werkezug 和 Jinja2 的之间的桥梁,前者实现一个合适的 WSGI 应用,后 者处理模板

卧槽,又一批好文章:什么是wsgi? https://www.jianshu.com/p/c66d3adeaaed 麻痹,好多原理不懂,尴尬 

很多框架都自带了 WSGI server ,比如 Flask,webpy,Django、CherryPy等等。当然性能都不好,自带的 web server 更多的是测试用途,发布时则使用生产环境的 WSGI server或者是联合 nginx 做 uwsgi(卧槽,我没换…………)

Flask原理不懂,肯定是不行的!卧槽槽槽!!

你可能感兴趣的:(后端合集)