W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Cookie以文本文件的形式存儲在客戶端的計算機(jī)上。其目的是記住和跟蹤與客戶使用相關(guān)的數(shù)據(jù),以獲得更好的訪問者體驗和網(wǎng)站統(tǒng)計信息。
Request對象包含Cookie的屬性。它是所有cookie變量及其對應(yīng)值的字典對象,客戶端已傳輸。除此之外,cookie還存儲其網(wǎng)站的到期時間,路徑和域名。
在Flask中,對響應(yīng)對象設(shè)置cookie。使用make_response()函數(shù)從視圖函數(shù)的返回值獲取響應(yīng)對象。之后,使用響應(yīng)對象的set_cookie()函數(shù)來存儲cookie。
讀回cookie很容易。request.cookies屬性的get()方法用于讀取cookie。
在以下Flask應(yīng)用程序中,當(dāng)您訪問'/' URL時,會打開一個簡單的表單。
@app.route('/')
def index():
return render_template('index.html')
此HTML頁面包含一個文本輸入。
<html>
<body>
<form action = "/setcookie" method = "POST">
<p><h3>Enter userID</h3></p>
<p><input type = 'text' name = 'nm'/></p>
<p><input type = 'submit' value = 'Login'/></p>
</form>
</body>
</html>
表單發(fā)布到'/ setcookie' URL。相關(guān)聯(lián)的視圖函數(shù)設(shè)置Cookie名稱userID并呈現(xiàn)另一個頁面。
@app.route('/setcookie', methods = ['POST', 'GET'])
def setcookie():
if request.method == 'POST':
user = request.form['nm']
resp = make_response(render_template('readcookie.html'))
resp.set_cookie('userID', user)
return resp
'readcookie.html'包含指向另一個視圖函數(shù)getcookie()的超鏈接,它讀回并在瀏覽器中顯示Cookie值。
@app.route('/getcookie')
def getcookie():
name = request.cookies.get('userID')
return '<h1>welcome '+name+'</h1>'
運行應(yīng)用程序,并訪問http://localhost:5000/
設(shè)置cookie的結(jié)果顯示為這樣:
讀回cookie的輸出如下所示:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: