码迷,mamicode.com
首页 > 其他好文 > 详细

Flask进阶

时间:2018-12-17 21:02:52      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:需要   template   secret   开启   请求   app   ssi   cookies   Nid   

Flask内的session

Flask中的session会将sessionID存放在客户端的Cookie中

1. Flask中的session是急需要secret_key的

from flask import session
app = Flask(__name__)
app.secret_key = "自定义字符串"

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

2. session基本使用

@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

  session["user"] = USER["username"] 代表这个请求带上来的session中保存了一个user=name

  如果想要验证session的话, 可以使用这种方法.

3. cookies中的session

  cookie中的session存储的是通过secret_key加密后的key, 通过这个key从flask程序的内存中找到

4. 使用session进行验证.

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

    return redirect("/login")

 


 

Flask中的路由系统

 

Flask进阶

标签:需要   template   secret   开启   请求   app   ssi   cookies   Nid   

原文地址:https://www.cnblogs.com/dong-/p/10133049.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!