微信网站开发服务外包,可以做免费推广的网站吗,社交网站建设需求分析,西安定制网页设计简介 flask-session是flask框架的session组件#xff0c;由于原来flask内置session使用签名cookie保存#xff0c;该组件则将支持session保存到多个地方#xff0c;如#xff1a; redis#xff1a;保存数据的一种工具#xff0c;五大类型。非关系型数据库memcachedfilesy… 简介 flask-session是flask框架的session组件由于原来flask内置session使用签名cookie保存该组件则将支持session保存到多个地方如 redis保存数据的一种工具五大类型。非关系型数据库memcachedfilesystemmongodbsqlalchmey那数据存到数据库表里面安装 pip3 install flask-session配置存储方式 redis #!/usr/bin/env python
# -*- coding:utf-8 -
import redis
from flask import Flask, session
from flask_session import Sessionapp Flask(__name__)
app.debug True
app.secret_key xxxxapp.config[SESSION_TYPE] redis # session类型为redis
app.config[SESSION_PERMANENT] False # 如果设置为True则关闭浏览器session就失效。
app.config[SESSION_USE_SIGNER] False # 是否对发送到浏览器上session的cookie值进行加密
app.config[SESSION_KEY_PREFIX] session: # 保存到session中的值的前缀
app.config[SESSION_REDIS] redis.Redis(host127.0.0.1, port6379, password123123) # 用于连接redis的配置Session(app)app.route(/index)
def index():session[k1] v1return xxif __name__ __main__:app.run()memcached #!/usr/bin/env python
# -*- coding:utf-8 -
import redis
from flask import Flask, session
from flask_session import Session
import memcacheapp Flask(__name__)
app.debug True
app.secret_key xxxxapp.config[SESSION_TYPE] memcached # session类型为redis
app.config[SESSION_PERMANENT] True # 如果设置为True则关闭浏览器session就失效。
app.config[SESSION_USE_SIGNER] False # 是否对发送到浏览器上session的cookie值进行加密
app.config[SESSION_KEY_PREFIX] session: # 保存到session中的值的前缀
app.config[SESSION_MEMCACHED] memcache.Client([10.211.55.4:12000])Session(app)app.route(/index)
def index():session[k1] v1return xxif __name__ __main__:app.run() filesystem #!/usr/bin/env python
# -*- coding:utf-8 -
import redis
from flask import Flask, session
from flask_session import Sessionapp Flask(__name__)
app.debug True
app.secret_key xxxxapp.config[SESSION_TYPE] filesystem # session类型为redis
app.config[SESSION_FILE_DIR] /Users/wupeiqi/PycharmProjects/grocery/96.Flask新课程/组件/2.flask-session # session类型为redis
app.config[SESSION_FILE_THRESHOLD] 500 # 存储session的个数如果大于这个值时就要开始进行删除了
app.config[SESSION_FILE_MODE] 384 # 文件权限类型app.config[SESSION_PERMANENT] True # 如果设置为True则关闭浏览器session就失效。
app.config[SESSION_USE_SIGNER] False # 是否对发送到浏览器上session的cookie值进行加密
app.config[SESSION_KEY_PREFIX] session: # 保存到session中的值的前缀Session(app)app.route(/index)
def index():session[k1] v1session[k2] v1return xxif __name__ __main__:app.run() mongodb #!/usr/bin/env python
# -*- coding:utf-8 -
import redis
from flask import Flask, session
from flask_session import Session
import pymongoapp Flask(__name__)
app.debug True
app.secret_key xxxxapp.config[SESSION_TYPE] mongodb # session类型为redisapp.config[SESSION_MONGODB] pymongo.MongoClient()
app.config[SESSION_MONGODB_DB] mongo的db名称数据库名称
app.config[SESSION_MONGODB_COLLECT] mongo的collect名称表名称app.config[SESSION_PERMANENT] True # 如果设置为True则关闭浏览器session就失效。
app.config[SESSION_USE_SIGNER] False # 是否对发送到浏览器上session的cookie值进行加密
app.config[SESSION_KEY_PREFIX] session: # 保存到session中的值的前缀Session(app)app.route(/index)
def index():session[k1] v1session[k2] v1return xxif __name__ __main__:app.run() mongodb操作简单示例 #!/usr/bin/env python
# -*- coding:utf-8 -*-
from pymongo import MongoClient# 创建链接
conn MongoClient(47.93.4.198, 27017)# 选择数据库
db conn[db1]# 选择表
posts db[posts]post_data {name: alex,age: 18
}# 表中插入数据
# result posts.insert_one(post_data)# 获取一条数据
# row posts.find_one()
# print(row)# # 获取多条数据
# rows posts.find()
# for row in rows:
# print(row)# 删除多条数据
# rows posts.delete_many(filter{})
# print(rows)# 更新多条数据
# posts.update({}, {name: wupeiqi}) sqlalchemy #!/usr/bin/env python
# -*- coding:utf-8 -
import redis
from flask import Flask, session
from flask_session import Session as FSession
from flask_sqlalchemy import SQLAlchemyapp Flask(__name__)
app.debug True
app.secret_key xxxx# 设置数据库链接
app.config[SQLALCHEMY_DATABASE_URI] mysqlpymysql://root:123127.0.0.1:3306/fssa?charsetutf8
app.config[SQLALCHEMY_TRACK_MODIFICATIONS] True# 实例化SQLAlchemy
db SQLAlchemy(app)app.config[SESSION_TYPE] sqlalchemy # session类型为sqlalchemy
app.config[SESSION_SQLALCHEMY] db # SQLAlchemy对象
app.config[SESSION_SQLALCHEMY_TABLE] session # session要保存的表名称
app.config[SESSION_PERMANENT] True # 如果设置为True则关闭浏览器session就失效。
app.config[SESSION_USE_SIGNER] False # 是否对发送到浏览器上session的cookie值进行加密
app.config[SESSION_KEY_PREFIX] session: # 保存到session中的值的前缀
FSession(app)app.route(/index)
def index():session[k1] v1session[k2] v1return xxif __name__ __main__:app.run() PS: 在写好代码后不要着急运行需要先执行进入终端执行一条创建数据库表的命令 bogon:pro-flask wupeiqi$ python3
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type help, copyright, credits or license for more information.from app import dbdb.create_all()应用场景 如果应用程序比较小就用原生的加密ccokie 保存session(内置)如果应用程序比较大就用redisflask-session 转载于:https://www.cnblogs.com/jiangchunsheng/p/9218346.html