1、说明
Application类对WSGI又做了一层简单的封装,由于上面说过WSGI函数返回的是一个可以迭代对象,所以需要实现一个__iter__方法,里面控制了客户端的请求路由并且返回不同的输出。
2、实例
from wsgiref.simple_server import make_server class Application(object): def __init__(self, environ, start_response): self.start_response = start_response self.path = environ['PATH_INFO'] def __iter__(self): if self.path == '/': status = '200 OK' response_headers = [('Content-type', 'text/html')] self.start_response(status, esponse_headers) yield '<h1>Hello,World!</h1>'.encode('utf-8') elif self.path == '/wsgi': status = '200 OK' response_headers = [('Content-type', 'text/html')] self.start_response(status, response_headers) yield '<h1>Hello,WSGI!</h1>'.encode('utf-8') else: status = '404 NOT FOUND' response_headers = [('Content-type', 'text/html')] self.start_response(status, response_headers) yield '<h1>404 NOT FOUND</h1>'.encode('utf-8') if __name__ == "__main__": app = make_server('127.0.0.1', 8000, Application) print('Serving HTTP on port 8000...') app.serve_forever()
以上就是Python中实现WSGI的框架,希望对大家有所帮助。更多Python学习推荐:python教学
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。