Flask进阶

Posted dong-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask进阶相关的知识,希望对你有一定的参考价值。

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进阶的主要内容,如果未能解决你的问题,请参考以下文章

Python开发实战资料分享:《Flask Web开发实战:入门进阶与原理解析》PDF+源代码

《Flask Web开发实战:入门进阶与原理解析》PDF+源代码 pdf 电子书

flask开发中重定向的常用方式(进阶必看)

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

Atom编辑器入门到精通 Atom使用进阶

Flask进阶