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 电子书
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情