当前位置: 移动技术网 > IT编程>脚本编程>Python > Flask 中内置的 Session 应用

Flask 中内置的 Session 应用

2019年11月20日  | 移动技术网IT编程  | 我要评论

大步流星的意思,地铁笨蛋全集,千里共良宵

flask中的session非常的奇怪,他会将你的sessionid存放在客户端的cookie中,使用起来也非常的奇怪

1.flask 中 session 是需要 secret_key 的

from flask import session
app = flask(__name__)
app.secret_key = "i am session"   #这里只需要随机指定一个字符串即可

2.session抛异常

secret_key 实际上是用来加密字符串的,如果在实例化的app中没有 secret_key 那么开启session一定会抛异常的

  img

3.session 用法:

session["user"] = user["username"] 这样用就代表这个请求带上来的session中保存了一个user=name
如果创建验证session的话,就用这种方法吧

user = {'username': 'anny', 'password': "123"}
@app.route("/login", methods=["get", "post"])
def login():
    if request.method == "post":
        if request.form["username"] == user["username"] and request.form["password"] == user["password"]:
            session["user"] = user["username"]
            return redirect("/student_list")
        return render_template("login.html", msg="用户名密码错误")

    return render_template("login.html", msg=none)  # 如果前端jinja2模板中使用了msg,这里就算是传递none也要出现msg

4.验证session

cookies 中的 session 是什么?

cookies 中 session 存储的是通过 secret_key 加密后的 key , 通过这个 key 从flask程序的内存中找到用户对应的session信息

@app.route("/student_list")
def student():
    if session.get("user"):   #session存在
        return render_template("student_list.html", student=student_dict)

    return redirect("/login")

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网