🍖Flask入门介绍

引入

1.三大主流 web 框架

  • django 框架(同步)
特点 : 大而全,自带的功能组件非常多!类似于航空母舰
不足 : 有时候过于笨重
  • flask 框架(同步)
特点 : 小而精  自带的功能特别特别特别的少, 类似于游骑兵, 但第三方的模块特别特别特别的多,如果将flask第三方的模块加起来完全可以盖过django
不足 : 比较依赖于第三方的开发者
ps : 三行代码就可以启动一个 flask 后端服务
  • tornado 框架(异步)
异步非阻塞  速度非常的快 快到可以开发游戏服务器
  • Sanic 框架
  • FastAPI 框架
  • .....

2.Web框架三部分

  • A : socket 部分
  • B : 路由与视图匹配部分
  • C : 模板语法部分

3.三种主流框架三部分的使用情况

  • Django
A : 用的是别人的  (wsgiref模块)
B : 用的是自己的
C : 用的是自己的  (没有jinja2好用 但是也很方便)
  • flask
A : 用的是别人的  (werkzeug(内部还是wsgiref模块))
B : 自己写的
C : 用的别人的    (jinja2)
  • tornado
A,B,C都是自己写的

4.wsgi 与 wsgiref

👉CGI、FastCGI、WSGI、uWSGI、uwsgi关系

  • 实现wsgi协议本质就是一个socket服务端
  • django框架是一个可调用的对象
  • uwsgi是一个web服务器, 上线的时候用
  • 而wsgiref一般本地测试(并发能力弱)

一.Flask由来

Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。

Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。

其 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。这两个也是 Flask 框架的核心。

Flask官网文档 : https://flask.palletsprojects.com/en/1.1.x/

Flask中文文档 : https://dormousehole.readthedocs.io/en/latest/

二.Flask常用第三方扩展包

  • Flask-SQLalchemy:操作数据库,ORM. 号称操作数据库最快的框架SQLalchemy;
  • Flask-script:终端脚本工具,脚手架;
  • Flask-migrate:管理迁移数据库. 比Django的更加强大, 迁移数据的过程中还可以回滚;
  • Flask-Session:Session存储方式指定;
  • Flask-WTF:表单;
  • Flask-Mail:邮件;
  • Flask-Bable:提供国际化和本地化支持,翻译;
  • Flask-Login:认证用户状态;
  • Flask-OpenID:认证, OAuth;
  • Flask-RESTful:开发REST API的工具;
  • Flask JSON-RPC: 开发rpc远程服务[过程]调用
  • Flask-Bootstrap:集成前端Twitter Bootstrap框架
  • Flask-Moment:本地化日期和时间
  • Flask-Admin:简单而可扩展的管理接口的框架
  • 更多flask官方推荐的扩展

三.werkzeug 介绍

1.简介

  • Werkzeug是一个WSGI工具包,它可以作为一个Web框架的底层库

  • werkzeug 不是一个web服务器,也不是一个web框架,而是一个工具包

  • 官方的介绍说是一个 WSGI 工具包,它可以作为一个 Web 框架的底层库,因为它封装好了很多 Web 框架的东西,例如 Request,Response 等等

2.使用

from werkzeug.wrappers import Request, Response

@Request.application
def hello(request):
    return Response('Hello World!')

if __name__ == '__main__':
    from werkzeug.serving import run_simple
    run_simple('localhost', 4000, hello)

四.Flask 安装

1.Pycharm 中安装

在搜索框中搜索 Flask(大写开头)

image-20210602210404841

2.命令行安装

pip3 install flask==[版本号]
pip3 install flask==1.1.1

五.创建Flask项目

与django不同,flask不会提供任何的自动操作,所以需要手动创建项目目录,需要手动创建启动项目的管理文件

例如:创建项目目录 flaskdemo,在目录中创建manage.py.在pycharm中打开项目并指定上面创建的虚拟环境

image-20210602210849010

posted @ 2021-06-04 22:49  给你骨质唱疏松  阅读(146)  评论(0编辑  收藏  举报