Flask教程09 狀態保持

2022-09-16 16:33:12 字數 2508 閱讀 6208

無狀態協議:

協議對於事務處理沒有記憶能力

對同乙個 url 請求沒有上下文關係

每次的請求都是獨立的,它的執**況和結果與前面的請求和之後的請求是無直接關係的,它不會受前面的請求應答情況直接影響,也不會直接影響後面的請求應答情況

伺服器中沒有儲存客戶端的狀態,客戶端必須每次帶上自己的狀態去請求伺服器

人生若只如初見

無狀態:

所以需要cookie這種東西:

應用:**的廣告推送,經常遇到訪問某個**時,會彈出小視窗,展示我們曾經在購物**上看過的商品資訊。

購物車,使用者可能會在一段時間內在同一家**的不同頁面中選擇不同的商品,這些資訊都會寫入cookie,以便在最後付款時提取資訊。

當瀏覽器請求某**時,會將本**下所有cookie資訊提交給伺服器,所以在request中可以讀取cookie資訊

#獲取cookie

session:請求上下文物件,用於處理http請求中的一些資料內容

/index1')

defindex1():

session[

'username

'] = '

cnblogs

'return redirect(url_for('

index'))

'/')

defindex():

return session.get('

username

')設定secret_key方式1:

flask 使用訊息閃爍(flash)報錯:the session is un**ailable because no secret key was set

解決方法:設定flask例項的sectet_key屬性。**如下:

from flask import

flask

secret_key

'] = '

123456

'

設定secret_key方式2:

cnblogs

' secret_key的作用:

上下文:相當於乙個容器,儲存了 flask 程式執行過程中的一些資訊。

flask中有兩種上下文,請求上下文和應用上下文

在 flask 中,可以直接在檢視函式中使用 request 這個物件進行獲取相關資料,而 request 就是請求上下文的物件,儲存了當前本次請求的相關資料,請求上下文物件有:request、session

session

value

'g 作為 flask 程式全域性的乙個臨時變數,充當者中間媒介的作用,我們可以通過它傳遞一些資料,g 儲存的是當前請求的全域性變數,不同的請求會有不同的全域性變數,通過不同的thread id區別

g.name='

abc'

注意:不同的請求,會有不同的全域性變數

上下文中的物件只能在指定上下文中使用,超出範圍不能使用 請求上下文和應用上下文原理實現:

Flask狀態保持

一 設定cookie 1 自定義響應 response make response flask設定cookie 設定cookie response.set cookie cookie名,value,max age 過期時間 單位 秒 返回響應 return response 2 獲取cookie值 ...

Flask 框架的 狀態保持

flask 的狀態保持有兩種 一種是 cookie 另一種是 session。複數形式cookies。cookie最早是網景公司的前雇員 lou montulli 在1993年3 月的發明。cookie是由伺服器端生成,傳送給客戶端瀏覽器,瀏覽器會將 cookie 的key value 儲存,下次請...

treeview 保持選中狀態

發現當treeview控制項失去焦點的時候,會丟失選中狀態的指示 條目的藍色背景 如果想要保持,只要設定treeview的乙個屬性即可 this.treeview1.hideselection false 但是,發現陰影很淺,但是聊勝於無。在上找到了 大氣象學習園地 的一篇博文 鏈結 剛好說到這個事...