📜  Flask “ Cookies

📅  最后修改于: 2020-10-25 11:31:35             🧑  作者: Mango


Cookie以文本文件的形式存储在客户端的计算机上。其目的是记住并跟踪与客户使用有关的数据,以提供更好的访问者体验和站点统计信息。

一个Request对象包含一个cookie的属性。它是客户端已传输的所有cookie变量及其对应值的字典对象。除此以外,Cookie还存储其有效期限,路径和站点域名。

在Flask中,在响应对象上设置cookie。使用make_response()函数从视图函数的返回值获取响应对象。之后,使用响应对象的set_cookie()函数存储cookie。

读回cookie很容易。 request.cookies属性的get()方法用于读取cookie。

在下面的Flask应用程序中,当您访问“ /” URL时,将打开一个简单的表单。

@app.route('/')
def index():
   return render_template('index.html')

该HTML页面包含一个文本输入。

Enter userID

表单被发布到“ / 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 '

welcome '+name+'

'

运行该应用程序并访问http:// localhost:5000 /

ReadCookie HTML

设置cookie的结果显示如下:

设置Cookie的结果

回读cookie的输出如下所示。

回读Cookie