The "Remember me" feature helps users stay logged in even after closing the browser. It makes returning to a website easier without typing the password again.
Remember me functionality in Flask
login_user(user, remember=True)login_user is a Flask-Login function to log in a user.
The remember=True argument tells Flask to keep the user logged in across browser sessions.
login_user(user)
# Logs in user for current session onlylogin_user(user, remember=True) # Logs in user and remembers across sessions
logout_user()
# Logs out the user and clears the sessionThis Flask app lets users log in with a username and choose "Remember me". If checked, the user stays logged in after closing the browser. The protected page shows a greeting. Logout ends the session.
from flask import Flask, render_template_string, request, redirect, url_for from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user app = Flask(__name__) app.secret_key = 'secret-key' login_manager = LoginManager() login_manager.init_app(app) # Simple user class class User(UserMixin): def __init__(self, id): self.id = id # User loader callback @login_manager.user_loader def load_user(user_id): return User(user_id) @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': user = User(request.form['username']) remember = 'remember' in request.form login_user(user, remember=remember) return redirect(url_for('protected')) return render_template_string(''' <form method="post"> Username: <input type="text" name="username" required><br> Remember me: <input type="checkbox" name="remember"><br> <input type="submit" value="Login"> </form> ''') @app.route('/protected') @login_required def protected(): return f'Hello, {current_user.id}! You are logged in.' @app.route('/logout') @login_required def logout(): logout_user() return 'You have been logged out.' if __name__ == '__main__': app.run(debug=False)
Remember me uses cookies to keep users logged in securely.
Do not use "Remember me" on public or shared computers for security reasons.
Flask-Login handles the cookie creation and verification automatically.
"Remember me" keeps users logged in across browser sessions using cookies.
Use login_user(user, remember=True) to enable this feature.
Always provide a logout option to clear remembered sessions.
Practice
remember=True parameter do when used with login_user() in Flask-Login?Solution
Step 1: Understand the purpose of
This parameter tells Flask-Login to store a cookie that keeps the user logged in even after closing the browser.remember=TrueStep 2: Compare with other options
Options A, C, and D describe actions that do not relate to keeping the user logged in across sessions.Final Answer:
Keeps the user logged in across browser sessions using cookies. -> Option DQuick Check:
Remember me = persistent login [OK]
- Thinking remember=True logs out user
- Confusing remember with user registration
- Assuming remember deletes user data
Solution
Step 1: Check the correct parameter type
Therememberparameter expects a boolean value, soTrueis correct.Step 2: Analyze other options
Options A, B, and D use integer or string instead of boolean, which is incorrect. login_user(user, remember='false') uses string 'false' which is not boolean False.Final Answer:
login_user(user, remember=True) -> Option CQuick Check:
Boolean True enables remember me [OK]
- Passing strings instead of boolean
- Using numbers instead of boolean
- Using 'false' string instead of False
from flask_login import login_user user = get_user() login_user(user, remember=True)
What will happen if the user closes and reopens the browser?
Solution
Step 1: Understand the effect of
This stores a cookie that keeps the user logged in even after browser restart.remember=TrueStep 2: Predict user state after reopening browser
Because of the cookie, the user session persists, so the user stays logged in automatically.Final Answer:
The user will remain logged in automatically. -> Option AQuick Check:
Remember me keeps session after browser close [OK]
- Assuming user is logged out after closing browser
- Expecting error on reopening browser
- Confusing remember with session timeout
login_user(user, remember='True')
Solution
Step 1: Check parameter type for remember
Therememberparameter must be a boolean value, not a string.Step 2: Validate other options
User variable is assumed defined; login_user accepts remember; so only parameter type is wrong.Final Answer:
The remember parameter should be a boolean, not a string. -> Option BQuick Check:
remember must be True/False boolean [OK]
- Passing 'True' as string instead of boolean
- Forgetting to define user variable
- Assuming remember is unsupported
Solution
Step 1: Understand logout_user behavior
Callinglogout_user()clears the user session and any remember me cookies automatically.Step 2: Analyze other options
logout_user does not take parameters like remember, user, or clear; these cause errors or are ignored.Final Answer:
from flask_login import logout_user logout_user() -> Option AQuick Check:
logout_user() clears session and remember me [OK]
- Passing parameters to logout_user()
- Not calling logout_user to clear remember me
- Assuming remember must be cleared separately
Ready to prove it?
Pass the test and this pattern moves unknown
