01.Web框架本质–socket
1.1 web框架本质
-
对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。
-
真实web框架一般会分为两部分:服务器程序和应用程序。
- 1)服务器程序:负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理
- 2)应用程序:负责具体的逻辑处理
1.2 socket创建web服务
1 | import socket |
1.3 自定义Web框架
说明:
通过python标准库提供的wsgiref模块开发一个自己的Web框架
1 | from wsgiref.simple_server import make_server |
02.django框架介绍
1.1 django、tornado、flask比较
-
Django: 1个重武器,包含了web开发中常用的功能、组件的框架;(ORM、Session、Form、Admin、分页、中间件、信号、缓存…);
-
Flask: 封装功能不及Django完善,性能不及Tornado,但是Flask的第三方开源组件比丰富;
-
Tornado: 最大特性就是异步非阻塞、原生支持WebSocket协议;
-
以 京东、淘宝、楼下小卖部 比喻
django就像京东
,服务齐全,有自营商品,有自己的仓库,有自己的快递,一条龙服务,你懂的flask就像是淘宝
,自己没有商品,没有仓库,没有快递,但是你可以选择三方的(韵达,中通等)tornado就像是门口小卖部
,一个特点,快,不用等,但是东西很少,没有三方组件,需要自己动手写
-
使用参考
- 1)小型web应用设计的功能点不多,使用Flask比较合适;
- 2)大型web应用设计的功能点比较多,使用的组件也会比较多,使用Django(自带功能多不用去找插件);
- 3)如果追求性能可以考虑Tornado;
1.2 MVC模式
1 | # 目的: 了解什么是MVC, MTV |
- M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
- V全拼为View,用于封装结果,生成页面展示的html内容。
- C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。
1.3 MVT(Django设计模式)
- M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
- V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
- T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html(
或者是json数据
)。
__END__