Python Flask,session,Flask-session

 

demo.py(session):

# coding:utf-8

from flask import Flask, session  # 导入session


app = Flask(__name__)

# flask的session需要用到的秘钥字符串 (如果用到session 必须配置该项)
app.config["SECRET_KEY"] = "Flask的秘钥字符串"
# flask默认把session保存到了cookie中 (不安全,所以要配置SECRET_KEY)

# 设置session
@app.route("/login")
def login():
    # 设置/修改session数据
    session["name"] = "python"
    session["mobile"] = "18611111111"
    return "login success"


# 获取session
@app.route("/index")
def index():
    # 获取session数据
    name = session.get("name")  # 没有session返回None
    return "hello %s" % name


# 删除session
@app.route('/delete_session')
def delete_session():
    # 删除指定key的session
    session.pop('name')
    
    session.clear()   # 清除所有session
    return 'delete success.'


if __name__ == '__main__':
    app.run(debug=True)


将session信息保存到redis中

安装Flask-Session: pip install Flask-Session

demo.py(session保存到redis中):

# coding:utf-8

from flask import Flask
import redis
from flask_session import Session  # 导入


# 创建flask的应用对象
app = Flask(__name__)


class Config(object):
    """配置信息"""
    SECRET_KEY = "XHSOI*Y9dfs9cshd9"   # 对cookie中session_id进行混淆处理时,需要设置秘钥

    # redis
    REDIS_HOST = "127.0.0.1"
    REDIS_PORT = 6379

    # flask-session配置
    SESSION_TYPE = "redis"  # session保存位置。 可以是redis、mongodb、sqlalchemy、文件等(默认保存到浏览器的cookie中)
    SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT)
    SESSION_USE_SIGNER = True  # 对cookie中session_id进行混淆处理
    PERMANENT_SESSION_LIFETIME = 86400  # session数据的有效期,单位秒


app.config.from_object(Config)

# 利用flask-session,将session数据保存到redis中
Session(app)


@app.route("/index")
def index():
    # session的设置与获取与Flask原生方式相同
    return "index page"


if __name__ == '__main__':
    app.run()

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值