flask-源码-run

本文深入解析了 Flask 框架中 app.run() 的执行过程,以及当收到请求时如何调用 __call__ 方法进行处理。通过详细步骤的阐述,帮助读者理解 Flask 的内部工作机制,包括 WSGI 服务器的启动、请求接收及应用实例的调用流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

run

  • 下图为flask 执行 app.run()时的执行过程,并且当接收到请求时__call__的执行流程,flask的请求执行过程可以参照我写的 https://blog.youkuaiyun.com/DALAOS/article/details/113566518 request 执行流程
  • 如果和大家理解有出入可以私信我,来讨论正确流程
apprun_simple()SharedDataMiddlewareinner()BaseWSGIServerrunrun_simple(host, port, self, **options)SharedDataMiddleware(application, static_files)返回application<SharedDataMiddleware obj>执行inner()make_servermake_server返回一个srv<BaseWSGIServer>srv.serve_forever()srv.serve_forever()HTTPServer.serve_forever(self)make_serverwhile not self.__shutdown_request循环监听如果当前我收到请求转发流程为self._handle_request_noblock()self.process_request(request, client_address)self.finish_request(request, client_address)self.RequestHandlerClass(request, client_address, self) <WSGIRequestHandler>顶层父类BaseRequestHandler中__init__的self.handle()BaseHTTPRequestHandler.handle(self)self.handle_one_request()self.run_wsgi()application_iter = app(environ, start_response)loop[make_server]执行__call__执行__call__apprun_simple()SharedDataMiddlewareinner()BaseWSGIServer
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值