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 ...
随机推荐
- JavaSE_08_Collections常用功能
1.1 常用功能 java.utils.Collections是集合工具类,用来对集合进行操作.部分方法如下: public static <T> boolean addAll(Colle ...
- c语言学习笔记 关于double
今天做了个简单的例子,由于没有使用正确的数据类型导致出错,下面是记录 #include <stdio.h> int main(void){ int i; double sum; doubl ...
- Office2010 破解(Microsoft Toolkit 2.4.3.exe)
这两天破解刚安装好的office2010,总是报错 刚才重新下载了Microsoft Toolkit 2.4.3.exe工具后,破解成功,操作如下: 选择office按钮后,如下操作,
- Http post请求案例
public RmiRespBase sendHttpRes(String jsonParamStr, String url, String apiName,String systemId,Strin ...
- eureka添加security验证之后,client注册失败
高版本,以下配置已弃用 security: basic: enabled: true 所以需要自定义security配置开启basic认证,参考我的配置类 @Configuration @Enable ...
- C++ base64 opencv Mat 转换
static std::string base64Decode(const char* Data, int DataByte) { //解码表 const char DecodeTable[] = { ...
- IntersectionObserver API 使用教程(转载)
作者: 阮一峰 日期: 2016年11月 3日 网页开发时,常常需要了解某个元素是否进入了"视口"(viewport),即用户能不能看到它. 上图的绿色方块不断滚动,顶部会提示它的 ...
- SSM-8FastDfs搭建
1. 图片服务器的安装 1.存储空间可扩展. 2.提供一个统一的访问方式. 使用FastDFS,分布式文件系统.存储空间可以横向扩展,可以实现服务器的高可用.支持每个节点有备份机. 1.1. 什么是F ...
- linux系统之间互传文件
参考网址:http://blog.csdn.net/shaoxiaohu1/article/details/23191637 1.文件复制:本机->远程服务器: scp /home/shaoxi ...
- MacBook安装QF9700网卡驱动
HOW TO USE A GENERIC USB ETHERNET ADAPTER QF9700 ON MAC OS X 20 February 2016 macOS Zahid Mahmood ...