在我想实现用户在访问页面时候的登录状态时,想到了全局变量。flask中的全局变量有request,session,current_app,g。
在java中,我们通常用HttpSession在存储用户信息,那在flask中呢?
request
request是一次请求的内容,它包含了http请求信息,每次请求都会刷新,并不能为我们很好地储存内容。
current_app
他和request的生命周期是一样的。从请求开始时创建到请求结束销毁。同样地Flask在处理请求时就会push 一个request和应用上下文的代理实例,然后才可以使用。如果没有push就使用就会报错。
g
一个请求期间,我们可以使用g,比如当我们再一次请求中多次访问数据库,我们就可以将数据库的池放入到g当中,等待这个请求结束再关闭。
session
上面的g也就是global是一次请求,显然也不适合,那最适合的就是我们的session,他会在客户端的多次请求中存在,如果我们想在另一个请求中使用上一个请求的内容,那session就是不二之选。