Python WSGI和web框架学习笔记

什么是WSGI

  1. Python Web Server Gateway Interface(pep3333)
  2. 解决Python Web Server 乱象mod_python,CGI,FastCGI等
  3. 描述了Web Server(Gunicorn/uwsgi)如何与web框架(Flask/Django)交互,web框架如何处理请求
    总:定义一个web框架的规范,有了规范可以让任意的web 框架泡在web server上。

Python Web框架对比

Django vs Flask vs Tornado

  1. Django:大而全,内置ORM、Admin等插件、第三方插件多
  2. Flask:微框架,插件机制,比较灵活
  3. Tornado:异步支持微框架和异步网络库

什么是MVC模式

MVC:Model、View、Controller,出现这几层主要原因还是为了解耦

  1. Model:负责业务对象和数据库的交互(ORM)
  2. VIew:负责与用户交互展示
  3. Controller:接受请求参数调用模型和视图来完成请求

什么是ORM

  1. 用于实现业务对象与数据表中的字段映射
  2. 优势:代码更加面向对象、代码量更少、灵活性更高、提升开发效率
  3. 缺点:拼接对象比较耗时,有一定性能影响(优先使用ORM框架提升开发效率和可维护性)

一个web框架有哪些部分组成

  1. 中间件:用于请求之前和请求之后做一些处理(比如记录日记)
  2. 路由、表单验证、权限认证、ORM、视图函数、模板渲染、序列化
  3. 第三方插件:redis,restful支持等

什么是Gunicorn

  1. 纯python编写的高性能WSGI Server
  2. pre-fork预先分配多个worker进程处理请求(master-slave)
  3. 支持多种worker:Sync/Async(Gevent)/Tornado/AsyncIO
发布了20 篇原创文章 · 获赞 6 · 访问量 2800

猜你喜欢

转载自blog.csdn.net/qq_37316153/article/details/104421160