Performance: Logout implementation
Logout implementation affects user interaction responsiveness and page load speed when ending a session.
from flask import session, redirect, url_for @app.route('/logout') def logout(): session.pop('user_id', None) # remove only user session key return redirect(url_for('login')) # use url_for for efficient routing
from flask import session, redirect, url_for @app.route('/logout') def logout(): session.clear() return redirect('/login') # hardcoded URL
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Clear entire session and hardcoded redirect | Minimal DOM (server side) | 1 full page reflow on reload | High paint cost due to full reload | [X] Bad |
| Pop user key and use url_for redirect | Minimal DOM (server side) | 1 full page reflow on reload | Lower paint cost with efficient routing | [!] OK |
from flask import session, redirect, url_for
@app.route('/logout')
def logout():
session.pop('user_id', None)
return redirect(url_for('login'))
What happens when a logged-in user visits '/logout'?@app.route('/logout')
def logout():
session.pop('user_id')
return redirect('/login')Pass the test and this pattern moves unknown