Flask Tutorial Series #6: Managing Sessions and Cookies

Posted by

Sessions & Cookies – Flask Tutorial Series #6

Sessions & Cookies – Flask Tutorial Series #6

In this tutorial, we will discuss sessions and cookies in Flask. Sessions and cookies are used to store data on the client side for maintaining the state of the application.

Sessions

Sessions are used to store user data across multiple requests. In Flask, sessions are implemented using the `session` object. You can set session variables using `session[‘key’] = value` and access them using `session.get(‘key’)`.

Here is an example of how to use sessions in Flask:

from flask import Flask, session

app = Flask(__name)
app.secret_key = 'secret_key'

@app.route('/')
def index():
    session['username'] = 'john'
    return 'Session variable set'

@app.route('/get')
def get():
    return 'Username is: ' + session.get('username')

if __name__ == '__main__':
    app.run()

Cookies

Cookies are small pieces of data stored on the client side. They are used to store information such as user preferences, shopping cart items, etc. In Flask, cookies can be set using the `set_cookie` method and accessed using the `request.cookies` object.

Here is an example of how to use cookies in Flask:

from flask import Flask, request

app = Flask(__name)

@app.route('/')
def index():
    resp = make_response('Cookie set')
    resp.set_cookie('username', 'john')
    return resp

@app.route('/get')
def get():
    username = request.cookies.get('username')
    return 'Username is: ' + username

if __name__ == '__main__':
    app.run()

Conclusion

Sessions and cookies are important tools for maintaining the state of an application in Flask. By using sessions and cookies, you can store user data and personalize the user experience. Make sure to keep sensitive information secure by using secure cookies and session management best practices.

0 0 votes
Article Rating
11 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@Playful_minds_
7 months ago

👏🏾👏🏾👏🏾👏🏾

@universal_movies4
7 months ago

continue this series

@miguelalbors9983
7 months ago

Very good content, looking forward for more videos!

@haikoemmel5868
7 months ago

Thank you for the very easy-to-understand video! I have a question: Do session information also work when flask is started with gunicorn and multiple workers? Thank you very much! P.S. Maybe a video about Flask's deployment would be helpful?

@munishkhatri33
7 months ago

Can you please do a video on jwt authentication also? ❤

@thewhiteninjamc
7 months ago

Could you do a video over JWTs, being able to share credentials between servers?

@udaybhaskar999
7 months ago

🎉

@redredkrovy
7 months ago

Any idea how to fix a CSRF token invalid issue? I'm using DreamHost VPS to host a python website that uses Flask and Flask-WTForms. When I run gunicorn with multiple workers I get this issue when trying to login. I run it with one worker and no issues. Best I can find it has something to do with app_context() in Flask but three months ago I knew nothing about python so I'm stumbling my way through trying to fix it.

By the way loving the series man!

Edit: Dropped from 3 workers on Gunicorn down to 1 worker and specified 3 threads. Everything seems to be working at the moment but I still don't fully understand how to fix the issue or if doing that will cause performance issues.

@DarkAcademyUniversity
7 months ago

Please, continue the series bro We are here 🙂

@nihilspace
7 months ago

I really appreciate this Flask series 🙏 Would you consider making a Protobuf video? That's a topic i find surprisingly little quality content about

@kmano2915
7 months ago

It is secret key 🔑 . It should be in .env or should be set as an environment variable. It is not a good idea to store this secret at this pythonfile.