Flask Cookies

2022-08-16 10:40 更新

Cookie以文本文件的形式存儲在客戶端的計算機上。其目的是記住和跟蹤與客戶使用相關的數(shù)據(jù),以獲得更好的訪問者體驗和網(wǎng)站統(tǒng)計信息。

Request對象包含Cookie的屬性。它是所有cookie變量及其對應值的字典對象,客戶端已傳輸。除此之外,cookie還存儲其網(wǎng)站的到期時間,路徑和域名。

在Flask中,對cookie的處理步驟為:

1. 設置cookie:

    設置cookie,默認有效期是臨時cookie,瀏覽器關閉就失效

    可以通過 max_age 設置有效期, 單位是秒

 resp = make_response("success")   # 設置響應體
 resp.set_cookie("w3cshool", "w3cshool", max_age=3600)

  2.獲取cookie

    獲取cookie,通過request.cookies的方式, 返回的是一個字典,可以獲取字典里的相應的值

cookie_1 = request.cookies.get("w3cshool")

3.刪除cookie

    這里的刪除只是讓cookie過期,并不是直接刪除cookie

    刪除cookie,通過delete_cookie()的方式, 里面是cookie的名字

resp = make_response("del success")  # 設置響應體
resp.delete_cookie("w3cshool")

以下為Flask Cookies的簡單示例:

from flask import Flask, make_response, request # 注意需導入 make_response

app = Flask(__name__)

@app.route("/set_cookies")
def set_cookie():
    resp = make_response("success")
    resp.set_cookie("w3cshool", "w3cshool",max_age=3600)    return resp

@app.route("/get_cookies")
def get_cookie():
    cookie_1 = request.cookies.get("w3cshool")  # 獲取名字為Itcast_1對應cookie的值
    return cookie_1

@app.route("/delete_cookies")
def delete_cookie():
    resp = make_response("del success")
    resp.delete_cookie("w3cshool")
return resp if __name__ == '__main__': app.run(debug=True)

設置cookies

運行應用程序,在瀏覽器中輸入 127.0.0.1:5000/set_cookies 來設置cookies,設置 cookies 的輸出如下所示:


獲取cookie

根據(jù)視圖函數(shù)中相對應的路徑,輸入 http://127.0.0.1:5000/get_cookies ,讀回 cookies 的輸出如下所示:


刪除cookie

根據(jù)視圖函數(shù)中相對應的路徑,輸入 http://127.0.0.1:5000/delete_cookies ,刪除 cookies 的輸出如下所示:


注意刪除,只是讓 cookie 過期。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號