在flask中有兩種上下文:應用(程式)上下文和請求上下文。
變數名上下文
說明應用上下文
當前啟用程式的程式例項
g應用上下文
處理請求時用作臨時儲存的物件。每次請求都會重設這個變數
request
請求上下文
請求物件,封裝了客戶端發出的http請求中的內容
session
請求上下文
使用者會話,用於儲存請求之間需要「記住」的☞的字典
什麼是「上下文」
上下文, 英文context,其完整意思應當是concatenate-text,聯絡文字,在it行業中譯為上下文其實並不確切也不容易理解,尤其是對於初學者,把它翻譯為「引用池」或者「引用區」更加恰當。
為了避免大量可有可無的引數把檢視函式弄得一團糟,flask使用上下文臨時把某些物件變為全域性訪問。有了上下文,就可以寫出下面的檢視函式:
from flask import request
user_agent = request.headers.get('user-agent')
return 'your browser is %s
' %user_agent
這裡的request屬於請求上下文,請求物件,封裝了客戶端發出的http請求中的內容,距離說明:假設前端使用ajax帶引數 data: 請求乙個後端介面,我們用python寫的後端介面就可以使用request這個「全域性變數」來獲取ajax的請求資料,如果介面是post,put型別,則可以使用
data = request.form
獲取,如果是get請求,則是可以使用
data=request.args
獲取,這裡不再詳細說明,轉接乙個部落格可以了解flask獲取request引數
這裡的「全域性變數」我們加引號是因為我們只是把他當做全域性變數來使用,但實際上並不是真正的全域性變數。比如,在多執行緒伺服器中,多個執行緒同時處理不同客戶端傳送的不同請求時,每個執行緒看到的request物件是不可能相同的。flask使用上下文讓特定的變數在乙個執行緒中全域性可以訪問,與此同時卻不會干擾其他執行緒。
學習筆記07
2017年9月26日 學習筆記與總結 1.盒子模型簡介 margin 當前元素和相鄰元素之間的距離 分四個方向,按順時針方向 top right bottom left 特點 1.垂直方向的相鄰元素,上下外邊距只會取最大值 2.在子元素裡新增垂直方向的外邊距,需要給父元素新增 overflow hi...
學習筆記07
概述 在程式設計中,為了方便處理資料具有相同型別的若干變數按有序形式組織起來 稱為陣列。include 變數定義 資料型別 變數 值 陣列定義 資料型別 陣列名 元素個數 int array 10 陣列 陣列下標 陣列名 下標 printf d n arr 0 printf d n arr 1 pr...
Flask學習筆記
web 發展至今,特別是伺服器端,涉及到的知識 內容,非常廣泛。這對程式設計師的要求會越來越高。如果採用成熟,穩健的框架,那麼一些基礎的工作,比如,網路操作 資料庫訪問 會話管理等都可以讓框架來處理,那麼程式開發人員可以把精力放在具體的業務邏輯上面。使用web框架開發web應用程式可以降低開發難度,...