一、Eventlet:
eventlet实现了WSGI的的server,我们只需要实现app,配合eventlet就可以完整地实现WSGI协议
如下就是一个利用eventlet做server,我们自己写APP实现WSGI的例子。
from eventlet import api,wsgi
def webapp(environ,start_respon):
start_respon('200 OK',[('Content-Type','text/plain')])
return ['this is songyixiong wsgi app']
wsgi.server(api.tcp_listener(('',8000)),webapp)
运行程序后从浏览器输入地址http://localhost:8000/,浏览器界面则返回this is songyixiong wsgi app
肿么样?简单吧?这是一个最简单的wsgi的例子了,eventlet封装了environ和start_response,而我们则实现了app,接受environ和start_response。在environ中有server收到的http请求,我这里没有做处理,直接返回一个结果了。
可以看到,webapp的返回值就是要在网页上显式的内容,而调用start_response告诉浏览器结果是怎么样的,以及告诉浏览器用什么方式解释返回的结果。
二、webob
三、routes
routes,是一个匹配URL及其处理方法的第