乍见
Django内置的server基本包括两部分:django.core.servers和django.core.handlers
相识
servers.basehttp是Django自身提供的一个用于开发测试的server模块,其中提供的WSGIServer、ServerHandler、WSGIRequestHandler其实都是属于WSGI server,django只不过是对python内置的WSGI模块simple_server做的一层包装。
handlers package包括base.py和wsgi.py两个模块。
base.py中只定义了一个BaseHandler类,它复杂一些基础的功能,比如加载中间件,处理异常,获取响应数据等
wsgi.py才是主角,其中最重要的就是WSGIHandler类,它继承了base.py中的BaseHandler,只添加了一个__call__方法,那为什么添加这个方法呢?
django.core.wsgi
import django
from django.core.handlers.wsgi import WSGIHandler
def get_wsgi_application():
""

本文探讨了Django内置服务器的组成,包括django.core.servers和django.core.handlers模块。重点介绍了servers.basehttp中的WSGIServer和WSGIHandler,以及它们如何遵循WSGI规范。同时,详细阐述了WSGIHandler的__call__方法及其在处理请求和响应过程中的作用,包括加载中间件、异常处理和执行用户定义的视图函数。
最低0.47元/天 解锁文章
5281

被折叠的 条评论
为什么被折叠?



