码迷,mamicode.com
首页 > 其他好文 > 详细

Flask-Session

时间:2019-01-02 19:11:40      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:color   setting   perm   rom   下载   config   class   obj   数据   

一、原理

基于框架的session,但是重新封装了session_interface,修改了open_session()和save_session()

 

二、下载

pip install flask_session

 

三、使用

导入:from flask_session import Session

实例化:Session(app) 

 

四、用redis存储session

1.导入flask_session的Session

2.实例化Session

3.修改配置文件并注册

4.在视图中使用session

# __init__.py
from flask import Flask
from flask_session import Session
from mydemo.views.mysession import sessionBlue

def create_app():
    app = Flask(__name__)
    app.config.from_object("settings.RedisConfig")  # 导入自定义的配置文件
    Session(app)                                # 实例化session
    app.register_blueprint(sessionBlue)           # 注册蓝图
    return app
# settings.py
import redis

class RedisConfig(object):
    ‘‘‘将session写入redis数据库‘‘‘
    DEBUG = True
    # 设置session的类型
    SESSION_TYPE = "redis"
    # 设置redis的连接
    SESSION_REDIS = redis.Redis(host=127.0.0.1,port=6379)

‘‘‘
源码
if config[‘SESSION_TYPE‘] == ‘redis‘:
session_interface = RedisSessionInterface(
    config[‘SESSION_REDIS‘], config[‘SESSION_KEY_PREFIX‘],
    config[‘SESSION_USE_SIGNER‘], config[‘SESSION_PERMANENT‘])
‘‘‘
# mysession,py
from flask import Blueprint
from flask import session


sessionBlue = Blueprint("sessionBlue",__name__)

@sessionBlue.route("/set")
def set_session():
    # 设置session
    session[name] = xiaoming
    return "set"

@sessionBlue.route("/get")
def get_session():
    print(session[name])
    return "get"
# manage.py

from mydemo import create_app

app = create_app()

if __name__ == __main__:
    app.run()

 

五、使用方式:

flask_session是基于session,导入flask的框架使用session即可

Flask-Session

标签:color   setting   perm   rom   下载   config   class   obj   数据   

原文地址:https://www.cnblogs.com/st-st/p/10209839.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!