flask 会话技术
%%
flask:
默认支持中文(传入中文COOKIE,会自动编码)
%%
蓝图:
安装: pip install flask-blueprint
代表含义:
对程序的美好规划,视图函数
注意:
试图不要重复,在试图前加 blue_name !!,表示那个蓝图内的试图 !!
%%
blue = Blueprint('first_blue=',name)
@blue.route('/')
def index():
return 'hello world'
app = Flask(name)
app.register_blueprint(blueprint=blue)
manager = Manager(app=ap
%%
会话技术:
不同请求,但是后面的请求需要前面请求返回的数据
web --> http (request --> response
cookie:
客服端 (存储,服务端不存储)
网站 --》 ip + 域名 (请求携带搜有的cookie)
cookie 不能跨域名 + 浏览器 --》 跨域名 (frame)
session:
服务端 存储
依赖cookie 存在
%% raw
cookie:
欢迎回来: {{username}}
%%
%%
from flask_blueprint import Blueprint
from flask import Flask,render_template,request,Response,url_for,redirect
blue = Blueprint('second_blue',name)
@blue.route('/home/')
def homt():
username = request.cookies.get('user')
return render_template('home.html',username=username)
@blue.route('/login/',methods=['GET','POST'])
def login():
if request.method == 'GET':
return render_template('login.html')
elif request.method == 'POST':
username = request.form.get('username')
print(username)
resp = Response(response='%s 登陆成功' %username)
return resp
@blue.route('/logout/')
def logout():
resp = redirect(url_for('second_blue.home'))
resp.delete_cookie('user')
return resp
%%
cookie --改 --> session :
@blue.route('/home/')
def homt():
username = session.get('user') # 存储
return render_template('home.html',username=username)
@blue.route('/login/',methods=['GET','POST'])
def login():
if request.method == 'GET':
return render_template('login.html')
elif request.method == 'POST':
username = request.form.get('username')
print(username)
session['user'] = username # 生成
%%
添加salt :
app.config['SECRET_KEY'] = '123445345436547ewt' # 类似为 salt
数据存储在内存中:
pip install flask-session
# 获取 session
app.config['SESSION_TYPE'] = 'redis'
Session(app=app)
查看:
redis-cli
keys * (获取所有key)
get key --> value (要编码 ,时效默认 为 14天)
%%
执行:
执行程序:
python manage.py runserver -r -d
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!