web框架起源
web框架
python三大主流web框架
django
大而全,自带的组件和功能极多,
缺点:写小项目时候会比较笨重(杀鸡用牛刀),大并发不行,3000撑死
flask
小而精 自带的组件和功能极少,基本全部依赖于第三方组件,如果将flask所有第三方库加起来,比django害能
缺点:受限于第三方库的影响比较大
tornado
异步非阻塞 可以用来开发游戏服务器,并发非常好
a:socket部分
b:路由匹配
c:模板语法
django:
a:用的别人的,默认为wsgireg
b:自己写的
c:自己写的
flask:
a:用的别人的werkzeug
b:自己写的
c:用的别人的jinja2 下载flask自带jinja2
Tornado:
a,b,c都是自己写的
app应用(application)
django是一个以开发app为主要功能的web框架
一个空的django没有任何作用,仅仅是为了app提高前期的环境配置
没一个app都有自己独立的功能
切记:创建好app后,要在django中配置文件中注册好才可以生效
web框架思路
建立一个C/S服务,服务端在接收客户端时,会接收到请求头,在请求头中可以获取,为了方便获取信息,引入wsgiref模块,其模块中方法env提供了请求相关的所有数据,(将http数据全部提前处理成字典的形式,给调用者使用),response方法,提供了响应相关的所有数据,用于给前端发送响应.
在env方法得到的字典中,用户想要访问的数据保留在key为"PATH_INFO"的value中,将其取出,即可在后台进行数据的操作和处理,并将处理好的结果以响应的方式返回给前端,
在这里,又引入了jinja2模板,可以方便后端操作前端发过来的数据.在html中使用jinja2模板语法.