08-04 16—20

______egon新书python全套来袭请看:https://egonlin.com/book.html

16. Flask 框架的优势?

1.轻巧
2.简洁
3.扩展性强(个人认为最重要的特点)
4.核心(werkzeug和jinja2)jinja2就是指模板引擎。

Flask确实很“轻”,不愧是Micro Framework,从Django转向Flask的开发者一定会如此感慨,除非二者均为深入使用过
Flask自由、灵活,可扩展性强,第三方库的选择面广,开发时可以结合自己最喜欢用的轮子,也能结合最流行最强大的Python库。
入门简单,即便没有多少web开发经验,也能很快做出网站
非常适用于小型网站
非常适用于开发web服务的API
开发大型网站无压力,但代码架构需要自己设计,开发成本取决于开发者的能力和经验
各方面性能均等于或优于Django
Django自带的或第三方的好评如潮的功能,Flask上总会找到与之类似第三方库
Flask灵活开发,Python高手基本都会喜欢Flask,但对Django却可能褒贬不一
Flask与关系型数据库的配合使用不弱于Django,而其与NoSQL数据库的配合远远优于Django
Flask比Django更加Pythonic,与Python的philosophy更加吻合

17. Flask 框架依赖组件?

# 依赖jinja2模板引擎
# 依赖werkzurg协议

18. Flask 蓝图的作用?

# blueprint把实现不同功能的module分开.也就是把一个大的App分割成各自实现不同功能的module.
# 在一个blueprint中可以调用另一个blueprint的视图函数, 但要加相应的blueprint名.

19. 列举使用过的 Flask 第三方组件?

# Flask组件
    flask-session  session放在redis
    flask-SQLAlchemy 如django里的ORM操作
    flask-migrate  数据库迁移
    flask-script  自定义命令
    blinker  信号-触发信号
# 第三方组件
    Wtforms 快速创建前端标签、文本校验
    dbutile     创建数据库连接池
    gevnet-websocket 实现websocket
# 自定义Flask组件
    自定义auth认证 
    参考flask-login组件

20. 简述 Flask 上下文管理流程?

# a、简单来说,falsk上下文管理可以分为三个阶段:
  1、'请求进来时':将请求相关的数据放入上下问管理中
  2、'在视图函数中':要去上下文管理中取值
  3、'请求响应':要将上下文管理中的数据清除
# b、详细点来说:
  1、'请求刚进来':
        将request,session封装在RequestContext类中
        app,g封装在AppContext类中
        并通过LocalStack将requestcontext和appcontext放入Local类中
  2、'视图函数中':
        通过localproxy--->偏函数--->localstack--->local取值
  3、'请求响应时':
        先执行save.session()再各自执行pop(),将local中的数据清除

posted @ 2019-10-22 21:43  小猿取经-林海峰老师  阅读(345)  评论(0编辑  收藏  举报