WSGI应用接口
WSGI应用接口要求,应用必须有是一个可调用对象,即拥有 __call__()
方法,这个应用可以是:函数,方法,类或实例。同时,这个应用必须满足:
- 接收2个参数:
environ
和start_response
- 在发送响应正文之前必须调用
start_response
回调函数 - 必须返回一个可迭代的正文
一个简单 WSGI 应用示例:
def application(environ, start_response):
status = '200 OK'
response_headers = [('Content-type','text/plain')]
start_response(status, response_headers)
return ['Hello world!\n']
WSGI服务器
如何启动上面的应用呢? 可以选择一个WSGI服务器来调用,如果只是想在本地测试,可以使用 wsgiref
,下面是一个简单的示例:
if __name__ == '__main__':
from wsgiref.simple_server import make_server
srv = make_server('localhost', 8080, application)
srv.serve_forever()
将这两段代码放在同一个文件里,并将文件命名为application.py
,在终端里输入python application.py
,再打开浏览器,输入http://localhost:8080/
就可以看到页面上显示的 Hello world 了。
按ctrl+C
可以终止服务器。
这样就完成了一个简单的WSGI应用程序和调用。