cookie

设置cookie set_cookie

修改了响应头了,因此浏览器才可以获取cookie

只能通过make_response的方式设置cookie
resp = make_response(‘set cookie test’)
resp.set_coookie(‘username’,’test’)
return resp

  1. @app.route('/cookie')
  2. def set_cookie():
  3. resp = make_response('set cookie test')
  4. resp.set_cookie('username','test')
  5. return resp

image.png

浏览器中查看cookie信息

image.png

设置cookie有效期

在set_cookie函数中,添加max_age=n,单位是秒

读取cookie

request.cookie.get(‘cookie_name’)

  1. @app.route('/get_cookie')
  2. def get_cookie():
  3. return request.cookies.get('username')

image.png

删除cookie

resp.delete_cookie(‘cookie_name’)

  1. @app.route('/del_cookie')
  2. def del_cookie():
  3. resp = make_response('del_cookie')
  4. resp.delete_cookie('username')
  5. return resp

image.png
flask中删除cookie是通过将变量设置为空,并且将失效时间设置为1970年。

session

可以通过from flask import session进行导入
如果使用这个session,必须要设置SECRET_KEY

设置session

session[‘session_name’] = ‘xxx’

读取session

session.get(‘session_name’)

  1. @app.route('/set_session')
  2. def set_session():
  3. session['username'] = 'session_test'
  4. return "set session ok"
  5. @app.route('/get_session')
  6. def get_session():
  7. username = session.get('username')
  8. return "session username is {}".format(username)

flask的session在哪里/为什么要SECRET_KEY

flask将session存储到了浏览器中
image.png
并且session值已经是签过名的