Flask Cookies

2022-08-16 10:40 更新

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

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

在Flask中,對(duì)cookie的處理步驟為:

1. 設(shè)置cookie:

    設(shè)置cookie,默認(rèn)有效期是臨時(shí)cookie,瀏覽器關(guān)閉就失效

    可以通過(guò) max_age 設(shè)置有效期, 單位是秒

 resp = make_response("success")   # 設(shè)置響應(yīng)體
 resp.set_cookie("w3cshool", "w3cshool", max_age=3600)

  2.獲取cookie

    獲取cookie,通過(guò)request.cookies的方式, 返回的是一個(gè)字典,可以獲取字典里的相應(yīng)的值

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

3.刪除cookie

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

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

resp = make_response("del success")  # 設(shè)置響應(yīng)體
resp.delete_cookie("w3cshool")

以下為Flask Cookies的簡(jiǎn)單示例:

from flask import Flask, make_response, request # 注意需導(dǎo)入 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對(duì)應(yīng)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)

設(shè)置cookies

運(yùn)行應(yīng)用程序,在瀏覽器中輸入 127.0.0.1:5000/set_cookies 來(lái)設(shè)置cookies,設(shè)置 cookies 的輸出如下所示:


獲取cookie

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


刪除cookie

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


注意刪除,只是讓 cookie 過(guò)期。


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)