flask项目Session(会话)

Cookie是存储在客户端的,而Session是存储在服务端的,也可以将Session称为服务端的Cookie.因为Cookie和Session的使用方式都和字典一样,通过key存储和获取值。
服务端会为每一个客户端浏览器创建一个Session对象。也就是说,客户端浏览器不仅仅可以在本地将数据保存在Cookie中,还可以将大量的数据存储到服务端的Session对象中。
在flask中使用Session需要如下几步:

  1. 导入flask模块中的session变量
  2. 在设置Session时将session.permanent属性设为True
  3. 设置app.secret_key,用于保存到客户端的Session-Cookie-id加密
  4. 通过app.permanent_session_lifetime属性设置Session的有效期

实例:创建三个路由用于模拟登陆和注销的过程
flask_session.py

from flask import Flask,request,session
from datetime import *
app=Flask(__name__
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask创建session会话可以使用内置的`session`对象,具体步骤如下: 1. 在Flask应用引入`session`对象: ```python from flask import Flask, session ``` 2. Flask默认使用Cookie存储session,需要设置一个密钥来加密Cookie。 ```python app = Flask(__name__) app.secret_key = 'your_secret_key' ``` 3. 在需要创建session的地方,可以使用`session`对象来存储数据。例如: ```python @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] # 验证用户名和密码 if username == 'admin' and password == '123456': session['username'] = username return redirect(url_for('index')) else: flash('用户名或密码错误!') return render_template('login.html') ``` 在上面的例子,如果用户名和密码验证通过,就将用户名存储到session。 4. 在其他页面可以通过`session`对象来获取存储在session的数据。例如: ```python @app.route('/') def index(): if 'username' in session: username = session['username'] return 'Hello, %s!' % username else: return redirect(url_for('login')) ``` 在上面的例子,如果session存在用户名,则显示欢迎信息,否则跳转到登录页面。 注意:在使用session之前,需要安装`flask-session`扩展,可以使用以下命令安装: ``` pip install flask-session ``` 然后在应用引入`Session`对象: ```python from flask_session import Session app = Flask(__name__) app.config['SESSION_TYPE'] = 'filesystem' Session(app) ``` 在上面的例子使用了文件系统来存储session,当然也可以使用其他方式,例如Redis等。具体请参考`flask-session`的文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值