今天学习了一下用简单的Django框架与简单的WSGI服务器配套运行一个简单的Django项目;
Django不是完整的web后端框架,它需要和一个WSGI服务器配套,由WSGI服务器负责网络通讯部分。
1.Django与WSGI
WSGI全称:Web Server Gateway Interface,是Python定义的WSGI程序和WSGI服务器之间的一种接口
现一个WSGI应用,只需要满足3个要求:
- 是可调用的,比如是一个函数,或者是一个可调用类(具有__call__方法)的实例
- WSGI应用应当返回一个可迭代(iterable)的值,比如字符串列表
- WSGI应用在返回之前,应当调用WSGI服务器传入的start_response函数发送状态码和HTTP报文头
一种最简单的满足WSGI规约的应用程序需要实现一个指定形式的函数:
from wsgiref.simple_server import make_server def wsgi_app(environ,start_response): from pprint import pprint pprint(environ) start_response('200 OK',[('Context-Type','text/plain')]) return 'such a tiny wsgi app!' httpd = make_server('0.0.0.0',80,wsgi_app) print 'start server' httpd.serve_forever()