Django的runserver

打印 上一主题 下一主题

主题 870|帖子 870|积分 2610

当年实行 python manage runserver下令时

1. 先实行 runserver 中的  handle方法


2. 实行 self.run()方法 


3. 实行 self.inner_run()


 3.1 inner_run 下 run方法的封装



3.1.1  接着看 handle 怎么来的 封装了一个方法 接着找返回函数


3.1.2在 basehttp 下


3.1.3 get_wsgi_application() 是wsgi.py下的方法


3.1.4 WSGIHandler (django.core.handlers.wsgi.WSGIHandler) 继续 base.BaseHandler

 



3.2 import_string() 是 django.utils.module_loading 的 import_string方法




3.3  接着看 self.server_cls 是 django.core.servers.basehttp import WSGIServer导入的

Django 在这部分代码中通过自界说的 WSGIServer 类与 WSGI 服务器进行关联。
具体来说,Django 使用 WSGIServer 作为服务器基础类,它继续了 wsgiref.simple_server.WSGIServer,并且根据需要扩展了相关功能,比方支持 IPv6 和定制错误处理等。

4. run()封装好了 接着开始实行


4.1 httpd.set_app(wsgi_handler)

set_app 实行的是  from wsgiref.simple_server import WSGIServer 下的方法



4.2 httpd.serve_forever()


serve_forever 实行的是 from socketserver import BaseServer



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

怀念夏天

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表