引言 本文将介绍在Flask中操作cooie、session的相关流程、常用方法 学习内容:
- cookie:依赖库(Flask内置)、常用方法
- session:依赖库(Flask内置)、前提条件(已设置:app.secret_key=”指定secret_key”)、常用方法
说明本文是基础操作cookie、session,不会涉及session的持久化。
https://e.coding.net/cooling37/mp-flask/mp-api.git
1.概述

2.Flask操作cookie
在Flask中操作cookie,我们需要依赖make_response()对象。借用make_response()对象的set_cookie()【设置cookie】、delete_cookie【删除cookie】进行相关操作。
1.操作流程介绍
2.常用方法
| 操作项 | 方法 | 备注 |
|---|---|---|
| 设置cookie | make_response().set_cookie(key,value) | 对cookie的操作都需要依赖“make_response()对象” |
| 删除cookie | make_response().delete_cookie(key) |
3.代码实现
1.设置cookie
1.具体代码实现
from flask import Blueprint as bpfrom flask import make_response # 【step1】导包cookieKey = "mp-cookie"cookieApp = bp("cookieApp", __name__, url_prefix="/cookie") #定义蓝图对象@cookieApp.get("/set")def set_cookie():# 【step2】定义:response对象resp = make_response("设置cookie")# 【step3】实现具体的cookie操作(设置cookie)resp.set_cookie(cookieKey, "myFlaskCookie-2022")# 【step4】返回response对象return resp
2.运行结果

2.删除cookie
1.具体代码实现
from flask import Blueprint as bpfrom flask import make_response # 【step1】导包cookieKey = "mp-cookie"cookieApp = bp("cookieApp", __name__, url_prefix="/cookie") #定义蓝图对象@cookieApp.get("/set")def set_cookie():# 【step2】定义:response对象resp = make_response("设置cookie")# 【step3】实现具体的cookie操作(设置cookie)resp.set_cookie(cookieKey, "myFlaskCookie-2022")# 【step4】返回response对象return resp@cookieApp.get("/delete")def delete_cookie():# 【step2】定义:response对象resp = make_response("删除cookie")# 【step3】实现具体的cookie操作(设置cookie)resp.delete_cookie(cookieKey)# 【step4】返回response对象return respif __name__ == '__main__':pass
2.运行结果
3.Flask操作session
注意 操作session—>前提(已设置)app.secret_key=”指定secret_key”
1.操作流程介绍

2.常用方法
| 操作项 | 方法 | 备注 |
|---|---|---|
| 设置session | session[‘key’]=’value’ | 对session的操作都需要依赖“flask的session” 导包from flask import session |
| 获取session | 方式1 session1=session[‘key’] 方式2 session2=session.get(‘key’) |
|
| 删除session | session.delete(‘key’) | |
| 清空session | session.clear() |
3.代码实现
#!/usr/bin/env pytho# -*- coding: utf-8 -*-"""@author:cooling@file:session.py@time:2022/04/18"""from flask import Blueprint as bp# 【step1】导包from flask import session, make_responseimport timesessionApp = bp("sessionApp", __name__, url_prefix="/session")@sessionApp.get("/set")def set_session():response = make_response("设置session")session['name'] = 'mp-session'# time.sleep(5)return "return set session"@sessionApp.get("/get")def get_session():session_name = session['name']print(session_name)return str("hello:\t" + session_name)@sessionApp.get("pop")def pop_session():session.pop('name')return "pop-session"@sessionApp.get("clear")def clear_session():session.clear()return "clear-session"if __name__ == '__main__':pass

