热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Flask之扩展flasksession

在使用flask写应用程序的时候,我们会使用session来控制用户会话状态,但是我们无法确定session的保存位置,默认的flask保存session是模糊的,那我们可不可以控

在使用flask写应用程序的时候,我们会使用session来控制用户会话状态,但是我们无法确定session的保存位置,默认的flask保存session是模糊的,那我们可不可以控制session的存储位置呢,这就是flask-session:增加了服务器端支持会话到您的应用程序.

安装flask-session

pip install flask-session

使用

from flask import Flask,session
from flask_session import Session
from redis import StrictRedis
app=Flask(__name__)
app.config['DEBUG']=True
app.config['SESSION_TYPE']='redis' //设置会话接口
app.config['SESSION_REDIS']=StrictRedis(host='localhost', port=6379,decode_respOnses=True) //配置连接redis
Session(app) //装载app到Session
@app.route("/set/")
def set():
session['key']='value'
return 'save session'
@app.route("/get/")
def get():
return session.get('key','not set')if __name__="__main__":
app.run(debug=app.config['DEBUG'])

会话接口及对应的连接配置

一般情况下我们配置好SESSION_TYPE,然后把连接配置配置一下就可以。

  1. null:NullSessionInterface(默认)
  2. redis:RedisSessionInterface
    连接配置:SESSION_REDIS:一个redis.Redis例如,默认连接到 127.0.0.1:6379
  3. memcached:MemcachedSessionInterface
    连接配置:SESSION_MEMCACHED:一个memcache.Client实例,默认连接到127.0.0.1:11211
  4. filesystem:FileSystemSessionInterface
    连接配置:SESSION_FILE_DIR:存储会话文件的目录。默认使用当前工作目录下的flask_session目录。
    连接配置:SESSION_FILE_THRESHOLD:会话在开始删除之前存储的最大项目数,默认值为500
    连接配置:SESSION_FILE_MODE:存会话文件所需的文件模式,默认为0600
  5. mongodb:MongoDBSessionInterface
    连接配置:SESSION_MONGODB:一个pymongo.MongoClient实例,默认连接到127.0.0.1:27017
    连接配置:SESSION_MONGODB_COLLECT:您要使用的MongoDB集合,默认为“sessions”
  6. SQLAlchemy:SqlAlchemySessionInterface
    连接配置:SESSION_SQLALCHEMY:flask_sqlalchemy.SQLAlchemy实例,其数据库连接URI是使用配置SQLALCHEMY_DATABASE_URI参数
    连接配置:SESSION_SQLALCHEMY_TABLE:要使用的SQL表的名称,默认为“sessions”

推荐阅读
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
author-avatar
魔术师-文放
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有