flask之請求上下文

2022-04-10 13:35:04 字數 718 閱讀 7290

第一階段:將ctx(request,session)放到local物件上

第二階段:檢視函式匯入:request/session

request.method

-localproxy物件.method,執行getattr方法,getattr(self._get_current_object(), name)

-self._get_current_object()返回return self.__local(),self.__local(),在locakproxy例項化的時候,object.__setattr__(self, '_localproxy__local', local),此處local就是:partial(_lookup_req_object, 'request')

-def _lookup_req_object(name):

top = _request_ctx_stack.top #_request_ctx_stack 就是localstack()物件,top方法把ctx取出來

if top is none:

raise runtimeerror(_request_ctx_err_msg)

return getattr(top, name)#獲取ctx中的request或session物件

第三階段:請求處理完畢

- 獲取session並儲存到cookie

- 將ctx刪除

Flask之請求上下文 應用上下文的概述

flask中有兩種上下文,請求上下文和應用上下文 一 請求上下文 request context request和session都屬於請求上下文物件。2.g 處理請求時,用於臨時儲存的物件,每次請求都會重設這個變數。比如 我們可以獲取一些臨時請求的使用者資訊。request 在每次http請求發生時...

flask請求鉤子 請求上下文

from flask import flask from flask import redirect,url for,abort 在第一次請求之前呼叫,可以在當前的方法中初始化操作 def before first request print before first request 在每一次請求之...

Flask 應用和請求上下文

from flask import request defindex user request.headers.get user agent return you browserid format user 標題flask應用上下文和請求上下文 變數名上下文說明 應用上下文 當前應用的應用例項 g應...