Cookie以文本文件的形式存储在客户的计算机上,其目的是记录客户访问网页的有关数据。
请求对象(request object)包含cookie的属性,是客户端已传输的所有cookie变量及其对应值 ,除此以外,还存储其有效期限,路径和站点域名。
在下面的Flask应用程序中,当您访问‘/' 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>
表单已发布到"/setcookie" URL。关联的视图函数设置Cookie名称 userID 并呈现另一个页面。
@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" 包含指向另一个视图函数 getcookie()的超链接,该函数会回读并在浏览器中显示cookie值。
@app.route('/getcookie') def getcookie(): name=request.cookies.get('userID') return '<h1>welcome '+name+'</h1>'
运行该应用程序并访问 http://localhost:5000/
设置cookie的输出显示如下:
读取cookie的输出如下所示。