关于flask的g问题

我在登陆的时候 自己写的login_user 里 将 user 对象保存在 g中,g.user = user 然后刷新了页面,但是当页面刷新后,g中就没有user了,请问怎么保存user在g中呢?

阅读 7.3k
4 个回答

To share data that is valid for one request only from one function to another, a global variable is not good enough because it would break in threaded environments. Flask provides you with a special object that ensures it is only valid for the active request and that will return different values for each request. In a nutshell: it does the right thing, like it does for request and session.

你应该用session:http://flask.pocoo.org/docs/0.10/quickstart/#sessions

g对象是在一个请求中共享变量,不同的请求对应的是不同的g对象。你这种情况的话应该使用session,session对象用于在不同的请求之间共享变量,最常见的就是实现登入登出的功能。

g是在一次请求的程序上下文和请求上下文之间共享数据的。当你第二次请求的时候g就不是上一个了。所以应该用session或者cookie

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题