Flask-Session 简单使用
Posted yuanyongqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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之Flask-Session -- 2019-08-11 19:38:31