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模板语法.
web框架起源的更多相关文章
- Python(九)Tornado web 框架
一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过 ...
- 转-基于NodeJS的14款Web框架
基于NodeJS的14款Web框架 2014-10-16 23:28 作者: NodeJSNet 来源: 本站 浏览: 1,399 次阅读 我要评论暂无评论 字号: 大 中 小 摘要: 在几年的时间里 ...
- 初步认识Node 之Web框架
上一篇我们认识了Node是什么之后,这一篇我们主要了解的就是它的框架了.而它的框架又分为两大类,Web框架和全栈框架,接下来我们一个一个的来了解. Web框架 Web框架可以细分为Web应用程序 ...
- 【原】Go语言及Web框架Beego环境无脑搭建
本文涉及软件均以截至到2013年10月12日的最新版本为准 1. 相关软件准备: 1) go1.2rc1.windows-386.msi,对应32位windows系统安装使用 下载地址: https: ...
- 【译】什么是 web 框架?
Web 应用框架,或者简单的说是“Web 框架”,其实是建立 web 应用的一种方式.从简单的博客系统到复杂的富 AJAX 应用,web 上每个页面都是通过写代码来生成的.我发现很多人都热衷于学习 w ...
- 冰冻三尺非一日之寒--web框架Django
1.JS 正则 test - 判断字符串是否符合规定的正则 rep = /\d+/; rep.test("asdfoiklfasdf89asdfasdf ...
- web框架django初探
Web框架介绍 一般会分为两部分:服务器程序和应用程序.服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理.应用程序则负责具体的逻辑处理.为了方便应用程序的开发,就出 ...
- web前端基础知识-(六)web框架
一.web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:ut ...
- 第三篇 基于.net搭建热插拔式web框架(重造Controller)
由于.net MVC 的controller 依赖于HttpContext,而我们在上一篇中的沙箱模式已经把一次http请求转换为反射调用,并且http上下文不支持跨域,所以我们要重造一个contro ...
随机推荐
- Windows 下 MQTT 服务器搭建之Apollo
https://blog.csdn.net/wangh0802/article/details/84861226#%EF%BC%881%EF%BC%89%E4%B8%8B%E8%BD%BD%20Apo ...
- LUOGU P1903 [国家集训队]数颜色 / 维护队列
传送门 解题思路 带修莫队,第一次写,其实和普通莫队差不多,就是多了个时间轴,块分n^(2/3)最优,时间复杂度O(n^(5/3)). #include<iostream> #includ ...
- JS--封装JS跳转页面函数
//JS跳转页面 function gourl($iAlert,$iPage,$history='',$target="window") { if ($iAlert != &quo ...
- ArcMap应用——三维场景中井盖的属性配置
在精细三维场景中,有地面(包括道路面.马路牙子).有部件数据(包括井盖).我们会发现有马路牙子的地方比道路面要高出一部分,比如0.1米,但是雨水井盖却有些在路面上.有些在道路以外.就是说在道路面上的井 ...
- Delphi 设计模式:《HeadFirst设计模式》Delphi7代码---观察者模式之WeatherReport[转]
1 2{<HeadFirst设计模式>之观察者模式 } 3{ 主题与观察者 } 4{ 编译工具 :Delphi7.0 ...
- 入门servlet:request获取请求行数据
/** * 演示Request对象获取请求行数据 */ @WebServlet("/test") public class RequestDemo1 extends HttpSer ...
- 解释性语言和非解释性语言,GIL锁
解释性语言:python写的代码就被称为程序,cpu硬件能运行二进制代码指令.demo.py需要经过python解释器编译才做才能执行. 非解释性语言:例如c语言程序,同样需要写代码.demo.c这个 ...
- php实现的支持断点续传的文件下载类
通常来说,php支持断点续传,主要依靠HTTP协议中 header HTTP_RANGE实现. HTTP断点续传原理: Http头 Range.Content-Range()HTTP头中一般断点下载时 ...
- 如何修改MyEclipse的SVN账户和密码
如何修改MyEclipse的SVN账户和密码呢? 操作方法:删除C:\Users\Administrator\AppData\Roaming\Subversion\auth\svn.simple文件夹 ...
- 09安装运行redis-trib.rb所需的环境
运行redis-trib.rb脚本配置Redis的cluster,需要安装ruby环境,这里采用源码安装: 1:下载源码包: https://cache.ruby-lang.org/pub/ruby/ ...