Flask-Session 简单使用
一 知识点
1. 安装 flask 1.0.2
使用Flask-Session,其实必须需要配置的只有这几个地方:
注意!!!!!!:
1. 需要配置的地方1
# flask_session 中的Session是依赖于falsk中的session的,所以这里的session一定要导入,否则运行过程中报错 from flask import Flask, render_template, request
2. 需要配置的地方2 (浏览源码获得的结果)
# 如果你不对这个flask_session中的Session进行配置的话,它在源码中跑一圈,就会回来使用flask中原生的session
# 如果配置了,就会使用相应的配置,使用flask_session中的session,配合你的配置进行运行 app.config["SESSION_TYPE"] = "redis" # 指定"SESSION_TYPE"
app.config["SESSION_REDIS"] = Redis(host='127.0.0.1', port=6379) # 指定"SESSION_REDIS",应该是个redis链接
3. 需要配置的地方3
# 实例化一个session,需要配合配置
Session(app)
4. 必须注意的地方: Session(app) 必须写在app.config[]的下边!!!!!否则会报错说需要将应用程序上的secret_key设置为唯一且保密的内容:
# The session is unavailable because no secret key was set.
# Set the secret_key on the application to something unique and secret.
# 翻译会话不可用,因为没有设置密钥。 将应用程序上的secret_key设置为唯一且保密的内容。
二 具体代码如下:
app.py 文件:
# 注意: flask_session 中的Session是依赖于falsk中的session的,所以这里的session一定要导入,否则运行过程中报错
from flask import Flask, request, render_template, redirect, session
from flask_session import Session
from redis import Redis app = Flask(__name__) # 如果你不对这个flask_session中的Session进行配置的话,它在源码中跑一圈,就会回来使用flask中原生的session
# 如果配置了,就会使用相应的配置,使用flask_session中的session,配合你的配置进行运行
app.config["SESSION_TYPE"] = "redis" # 指定"SESSION_TYPE"
app.config["SESSION_REDIS"] = Redis(host='127.0.0.1', port=6379) # 指定"SESSION_REDIS",应该是个redis链接 # 实例化一个session,需要配合配置(必须写在app.config[]的下边!!!!!否则会报错说需要将应用程序上的secret_key设置为唯一且保密的内容)
# The session is unavailable because no secret key was set. Set the secret_key on the application to something unique and secret.
# 翻译会话不可用,因为没有设置密钥。 将应用程序上的secret_key设置为唯一且保密的内容。
Session(app) @app.route("/login", methods=["GET", "POST"])
def login():
if request.method == "GET":
return render_template("login.html")
else:
# session["user"] = 123
session["user"] = request.form.get('username')
return " 愿每个人都被世界所善待~ {}".format(str(session["user"])) if __name__ == '__main__':
app.run()
login.html 文件:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta http-equiv="content-Type" charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Title</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="text" name="username">
<input type="file" name="myFile">
<input type="submit" value="提交">
</form>
</body>
</html>
Flask-Session 简单使用的更多相关文章
- flask-admin章节四:flask session的使用
1. 关于session flask session可能很多人根本都没有使用过,倒是cookie大家可能使用得比较多.flask cookie使用起来比较简单,就两个函数,读取和设置. 具体使用方式如 ...
- Flask的简单认识
Flask的简单认识 Flask是轻量级的框架,适用于简单的程序 与Django的比较: Django: 无socket,中间件,路由,视图(CBV,FBV),模板,ORM, cookie,sessi ...
- Flask session到期时间设置 用户登录与登出
flask版本 1.1.1 最近学习Flask开发,看官方文档产生疑问,就是session有效期的问题,默认貌似是没有有效期的,只有关闭浏览器session才会失效,其实控制session的有效期非常 ...
- Flask Session 详解
会话session ,允许你在不同请求 之间储存信息.这个对象相当于用密钥签名加密的 cookie ,即用户可以查看你的 cookie ,但是如果没有密钥就无法修改它. from flask impo ...
- Flask Session 使用和源码分析 —— (6)
基本使用 from flask import Flask, session, redirect, url_for, escape, request app = Flask(__name__) @app ...
- 11.4 Flask session,闪现
session 加密后放在用户浏览器的 cookie 中 于django 的自带session 不同,flask 的 session 需要导入 from flask import session 添加 ...
- flask session
flask session工作机制: 把敏感数据经过加密后放入到‘session’中,然后在把'session'存放到cookie中,下次请求的时候,再从浏览器发送过来的cookie中读取sessio ...
- JavaWeb学习总结(十):Session简单使用
一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...
- 【Flask】Flask Session操作
### session:1. session的基本概念:session和cookie的作用有点类似,都是为了存储用户相关的信息.不同的是,cookie是存储在本地浏览器,session是一个思路.一个 ...
- flask session 使用默认配置修改session不生效问题
flask session相关 使用flask 默认sessio是存储在浏览器的cookie中,当请求返回时会将session写在cooKie中,但是在写的时候,默认并不是每次都重新写入 比如下例子 ...
随机推荐
- LINUX 安装扩展(笔记)
1.下载扩展包: 网址:http://pecl.php.net/ 2.解压安装包. 3.进入解压好的安装包. 4.使用php中的phpize (扩展模块) 使其生成configure. 5../con ...
- Appium自动化学习1
1.Appium-desktop配置Desired Capabilities { "platformName": "Android", "platfo ...
- Android 开发 View的API 转载
转载地址:https://blog.csdn.net/lemonrabbit1987/article/details/47704679 View类代表用户界面组件的基本构建块.一个View占据屏幕上的 ...
- hml页面转化成图片
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name=&qu ...
- 创建windoes 硬盘 挂载u盘
一,创建 windows 硬盘 创建 2,我的电脑右击鼠标,计算机管理 3.同理执行,在linux 下创建虚拟磁盘 选择路径为之前存放 windows 系统路径 之后 mount /dev/sdc ...
- K2项目开发流程
(自己的学习资料) K2项目开发流程: 1.在VS2013中设计流程,并在K2 Workspce中测试流程 首先是新建新建一个k2的Process文件..kprx后缀. 在里面创建所需要的流程.由于我 ...
- ubuntu环境下安装docker遇到的坑
ubuntu安装docker的前提条件是: 1. Linux 的内核版本在 3.10 或以上: 2. linux 内核要开启 cgroup 和 namespace 功能 可以执行命令:uname –a ...
- unittest框架(惨不忍睹低配版)
根据我上个随笔的unittest框架优化得来,虽然对于smtp模块还是有点迷糊,不过还是勉强搭建运行成功了,还是先上代码: #login_test.py import requests class L ...
- haproxy监控页面添加及参数简介(转)
环境: [root@localhost 13:55:31 haproxy]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@loca ...
- 启动tomcat时报错:http-nio-8080-exec-10
启动Tomcat后访问 http://192.168.199.10:8080/jpress-web-newest 网页,查看日志有报错 问题原因:Java的内存溢出 故障现象为: cat /app ...