Django 소스 학습 요약

Django 소스 읽기:
1.
Django runserver 127.0.0.1 8000 –noreload
포털:관리py 
코드 실행 호출 추적 소스
execute_from_command_line(sys.argv)
||
ManagementUtility(argv)   utility.execute()
||
fetch_command(subcommand).run_from_argv(self.argv)//fetch_command ('runserver ') 는runserverCommand 실행 루트 부류run 을 되돌려줍니다.from_argv()
상속 관계
Command
||
Command(inner run)//inner 실행run()           
run(self.addr, int(self.port), handler,ipv6=self.use_ipv6, threading=threading)
bashhttp(WSGIRequestHandler)run//httptcpserver 시작
httpd = httpd_cls(server_address, WSGIRequestHandler, ipv6=ipv6)
httpd.set_app(wsgi_handler)
상속 관계 WSGIServer
   - __init__(server_address, RequestHandlerClass, bind_and_activate=True)
2. Django 관련 http 요청:
인터페이스 호출 소스 추적 WSGIHandler(base.BaseHandler) ( call ()
|| 
 
  
	handler = convert_exception_to_response(self._get_response)
	handler = convert_exception_to_response(mw_instance)
	self._middleware_chain(request)
	     get_response(request)

middleware 층 처리 Request
response로 돌아가기
3. 요약:
make_server(host, port, app, server_class=WSGIServer, handler_class=WSGIRequestHandler)
WSGIServer를 시작합니다.포털: WSGIHandler( call ();URL-views 일치: URLResolvers
ps: 처음 쓰는 글인데 부족한 점은 신의 가르침을 바랍니다

좋은 웹페이지 즐겨찾기