Django是功能最为健全的一个WEB框架,但就因为过于健全,显得过于臃肿。但是Django中最为正要的就是Middleware、ORM和From表单。
Django的HTTP的请求周期:
一:服务端处于持续监听状态,接受客户端的HTTP请求。
二:客户端浏览器请求的URL先去经过WSGI协议,创建连接。
三:连接成功后,URL在请求信息去中间件执行中间件的方法,以便判断是否继续执行到路由。
三:去路由匹配URL。
四:根据URL找到对应的view视图函数。
五:根据视图函数去model的数据库取数据交给template模板渲染。
六:渲染完经过中间件方法处理,返回给WSGI协议。
七:最后返回给客户端浏览器相应的响应信息。
WSGI 的应用:
WSGI 是web服务网关接口,Django本身是没有socket的。但WSGI它做了一些规则,使其遵循规则就可以使Django有socket的效果。
Django默认使用的是 wsgiref:WSGIRefServer,但是这里要注意,wsgiref 是在测试环境下用的,性能不是最佳的。
在生产环境中,用uwsgi,性能最佳。