flask-cookie & session

时间:2023-07-10 22:55:38

Cookie

@app.route('/')
def hello_world():
   name=request.cookies.get('Name')  # 获取cookie
resp = Response("fdsaf")
# 要相对北京时间少8个小时
expires = datetime.now() + timedelta(days=30,hours=16)
# 在新版本的http协议中,expires参数视为被废弃
# max_age,在IE8一下的浏览器中是不支持的
resp.set_cookie('username','dadf',expires=expires,max_age=60)
return resp

# 注意expires比max_age的兼容性更好

Session

flask的session只是讲数据加密存储在客户端

app.config['SECRET_KEY'] = os.urandom(24)  # 设置盐
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(hours=2) # 设置session过期时间需要更精准的过期时间的时候 @app.route('/')
def index():
session['username'] = 'zhiliao'
session['user_id'] = ''
# permanent:持久化 # 默认为false 如果true就存储31天
session.permanent = True
print(type(session))
return 'Hello World!' @app.route('/get_session/')
def get_session():
username = session.get('username')
user_id = session.get('user_id')
print(user_id)
return username or '没有session' @app.route('/delete_session/')
def delete_session():
session.pop('username') # 删除
session.clear() # 清空
return '删除成功'