Flask: 'session' vs. 'g'?
I'm trying to understand the differences in functionality and purpose between g
and session
. Both are objects to 'hang' session data on, am I right? If so, what exactly are the differences and which one should I use in what cases?
Solution 1:
No, g
is not an object to hang session data on. g
data is not persisted between requests.
session
gives you a place to store data per specific browser. As a user of your Flask app, using a specific browser, returns for more requests, the session data is carried over across those requests.
g
on the other hand is data shared between different parts of your code base within one request cycle. g
can be set up during before_request
hooks, is still available during the teardown_request
phase and once the request is done and sent out to the client, g
is cleared.