Logout lets users safely end their session. It helps protect their information and keeps the app secure.
0
0
Logout implementation in Flask
Introduction
When a user wants to leave the app and stop being recognized.
To clear user data from the session after they finish using the app.
To prevent unauthorized access if someone else uses the same device.
When you want to redirect users to the login page after they log out.
Syntax
Flask
from flask import session, redirect, url_for def logout(): session.clear() return redirect(url_for('login'))
session.clear() removes all stored user data in the session.
redirect(url_for('login')) sends the user to the login page after logout.
Examples
This example removes only the
user_id from the session instead of clearing everything.Flask
from flask import session, redirect, url_for def logout(): session.pop('user_id', None) return redirect(url_for('login'))
Here, after logout, the user is redirected to the home page instead of the login page.
Flask
from flask import session, redirect, url_for from flask import Flask app = Flask(__name__) @app.route('/logout') def logout(): session.clear() return redirect(url_for('home'))
Sample Program
This Flask app lets users log in by entering a username. After login, it shows a dashboard with a logout link. Clicking logout clears the session and sends the user back to the login page.
Flask
from flask import Flask, session, redirect, url_for, request app = Flask(__name__) app.secret_key = 'secret123' @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': session['user'] = request.form['username'] return redirect(url_for('dashboard')) return ''' <form method="post"> Username: <input type="text" name="username"> <input type="submit" value="Login"> </form> ''' @app.route('/dashboard') def dashboard(): if 'user' in session: return f"Logged in as {session['user']} <br><a href='/logout'>Logout</a>" return redirect(url_for('login')) @app.route('/logout') def logout(): session.clear() return redirect(url_for('login')) if __name__ == '__main__': app.run(debug=True)
OutputSuccess
Important Notes
Always set app.secret_key to keep sessions secure.
Use session.clear() to remove all session data safely.
Redirecting after logout improves user experience and security.
Summary
Logout clears user session data to end their login.
Use session.clear() or session.pop() to remove session info.
Redirect users after logout to a safe page like login or home.