zoukankan      html  css  js  c++  java
  • Django中的wsgi:application

    • 基本:
      •   uwsgi,uWSGI,WSGI三者关系

    •  Django中wsgi application 调用最终返回的是response,在上一篇中,我们在handler.run()函数---setup_environ()函数中,将request原始信息复制到wsgi.input中
      • 在回调函数的slef.request_class(env)会进一步封装成我们熟悉的request对象  
        class WSGIHandler(base.BaseHandler):
            request_class = WSGIRequest
        
            def __init__(self, *args, **kwargs):
                super().__init__(*args, **kwargs)
                self.load_middleware()
        
            def __call__(self, environ, start_response):
        
                set_script_prefix(get_script_name(environ))
                signals.request_started.send(sender=self.__class__, environ=environ)
                request = self.request_class(environ)
                response = self.get_response(request)
                response._handler_class = self.__class__
                status = '%d %s' % (response.status_code, response.reason_phrase)
                response_headers = [
                    *response.items(),
                    *(('Set-Cookie', c.output(header='')) for c in response.cookies.values()),
                ]
                start_response(status, response_headers)
                if getattr(response, 'file_to_stream', None) is not None and environ.get('wsgi.file_wrapper'):
        
                    response.file_to_stream.close = response.close
                    response = environ['wsgi.file_wrapper'](response.file_to_stream, response.block_size)
        
                return respons
  • 相关阅读:
    网络流 学习笔记
    回文自动机PAM 学习笔记
    后缀自动机SAM 学习笔记
    题解 CF1207G Indie Album
    题解 CF163E e-Government
    AC自动机 学习笔记
    CCF冬令营Day1上午
    不编译AC记录
    生成函数 抄写笔记
    FFT NTT 学习笔记
  • 原文地址:https://www.cnblogs.com/zengmu/p/12930776.html
Copyright © 2011-2022 走看看