「狗書」中有個地方講到應用上下文和請求上下文,博主初次看的時候很懵逼,其實我們要理解這兩個東西,最應該了解it行業的「上下文」是什麼意思,這樣再去理解應用上下文和請求上下文就容易得多了,只是對博主來說是這樣的。
上下文, 英文context,其完整意思應當是concatenate-text,聯絡文字,在it行業中譯為上下文其實並不確切也不容易理解,尤其是對於初學者,把它翻譯為「引用池」或者「引用區」更加恰當。為了避免大量可有可無的引數把檢視函式弄得一團糟,flask使用上下文臨時把某些物件變為全域性訪問。有了上下文,就可以寫出下面的檢視函式:「, 你可以把它記為」引用池「!
from flask import request
defindex
(); user_agent = request.headers.get
('user-agent')
return 'your
browser
is %s
p>' %user_agent
這裡的request屬於請求上下文,請求物件,封裝了客戶端發出的http請求中的內容,距離說明:假設前端使用ajax帶引數 data: 請求乙個後端介面,我們用python寫的後端介面就可以使用request這個「全域性變數」來獲取ajax的請求資料,如果介面是post,put型別,則可以使用
data = request.form
獲取,如果是get請求,則是可以使用
data=request.args
獲取,這裡不再詳細說明,轉接乙個部落格可以了解flask獲取request引數
這裡的「全域性變數」我們加引號是因為我們只是把他當做全域性變數來使用,但實際上並不是真正的全域性變數。比如,在多執行緒伺服器中,多個執行緒同時處理不同客戶端傳送的不同請求時,每個執行緒看到的request物件是不可能相同的。flask使用上下文讓特定的變數在乙個執行緒中全域性可以訪問,與此同時卻不會干擾其他執行緒。
在flask中有兩種上下文:應用(程式)上下文和請求上下文。
變數名上下文
說明應用上下文
當前啟用程式的程式例項
g應用上下文
處理請求時用作臨時儲存的物件。每次請求都會重設這個變數
request
請求上下文
請求物件,封裝了客戶端發出的http請求中的內容
session
請求上下文
使用者會話,用於儲存請求之間需要「記住」的☞的字典
Spring Cloud應用程式上下文服務
spring boot對於如何使用spring構建應用程式有乙個看法 例如它具有常規配置檔案的常規位置,以及用於常見管理和監視任務的端點。spring cloud建立在此之上,並新增了一些可能系統中所有元件將使用或偶爾需要的功能。引導應用程式上下文 乙個spring cloud應用程式通過建立乙個 ...
Spring Cloud應用程式上下文層次結構
bootstrap 如果在bootstrap上下文中找到任何propertysourcelocators,則可選compositepropertysource顯示為高優先順序,並且具有非空屬性。乙個例子是來自spring cloud config伺服器的屬性。有關如何自定義此屬性源的內容的說明,請參...
Flask 應用和請求上下文
from flask import request defindex user request.headers.get user agent return you browserid format user 標題flask應用上下文和請求上下文 變數名上下文說明 應用上下文 當前應用的應用例項 g應...