WebOb vs Paste.Deploy

在Openstack的源码中,除了PasteDeploy外,还有一个和WSGI密切相关的工具包WebOb。官网在这:http://webob.org/

简单的说,WebOb是一个用于对WSGI request环境进行包装(也就是变得易用)以及用于创建WSGI response的一个包。

1.Request
webob.Request是WebOb中的一个重要对象。其会的对WSGI的environ(就是传递给WSGI APP的那个参数)参数进行封装。
一个简单的例子:

1
2
3
4
5
from webob  import Request
 
req  = Request.blank( '/article?id=1' )
from pprint  import pprint
pprint(req.environ)

输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@OS_DEV dev]# python webobtest.py
{'HTTP_HOST': 'localhost:80',
  'PATH_INFO': '/article',
  'QUERY_STRING': 'id=1',
  'REQUEST_METHOD': 'GET',
  'SCRIPT_NAME': '',
  'SERVER_NAME': 'localhost',
  'SERVER_PORT': '80',
  'SERVER_PROTOCOL': 'HTTP/1.0',
  'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f83c59d21e0>,
  'wsgi.input': <io.BytesIO object at 0x7f83c592b590>,
  'wsgi.multiprocess': False,
  'wsgi.multithread': False,
  'wsgi.run_once': False,
  'wsgi.url_scheme': 'http',
  'wsgi.version': (1, 0)}

 http://bingotree.cn/?p=109

之前的文章里简单介绍了下Paste,但由于这个Paste比较重要,所以这里再深入学习一下其中的Paste Deploy。Paste Deploy的相关网站是:http://pythonpaste.org/deploy/

1.Paste Deploy的一个组件,但是并不依赖于Paste的其它组件。其可以看成是一个独立的包。其主要用于通过一个配置文件完成WSGI应用和服务器的构建。对于一个不怎么了解Python的人来说,只要知道了这个配置文件如何编写,那么也能写出一个符合WSGI标准的应用。这样说可能还是有点抽象,下面看了例子就清楚了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值