📖 Scenario: You are building a simple login page for a website using Flask. You want to add a "Remember Me" checkbox so that users can stay logged in even after closing their browser.
🎯 Goal: Create a Flask app that has a login form with a "Remember Me" checkbox. When the user logs in and checks this box, their login session should persist even after closing the browser. If unchecked, the session should end when the browser closes.
📋 What You'll Learn
Create a Flask app with a login route
Add a login form with username, password, and a "Remember Me" checkbox
Use Flask's session management to remember the user based on the checkbox
Set the session to be permanent only if "Remember Me" is checked
💡 Why This Matters
🌍 Real World
Remember Me functionality is common on websites to improve user experience by keeping users logged in across browser sessions.
💼 Career
Understanding session management and user authentication is essential for backend web development roles.
Progress0 / 4 steps
1
Set up Flask app and login route
Create a Flask app instance called app and define a route /login that accepts both GET and POST methods.
Flask
Hint
Use Flask(__name__) to create the app and decorate a function with @app.route('/login', methods=['GET', 'POST']).
2
Add login form HTML with Remember Me checkbox
Inside the login function, create a string variable called login_form that contains HTML for a form with fields: username, password, and a checkbox named remember labeled "Remember Me". The form should submit to /login using POST.
Flask
Hint
Use a multi-line string with ''' to store the HTML form. Include a checkbox input with name="remember".
3
Implement login POST logic with Remember Me session setting
Inside the login function, check if the request method is POST. If yes, get the username and check if the remember checkbox is in request.form. Set session['username'] to the username. Set session.permanent to True if remember is checked, otherwise False. Then redirect to /dashboard. If GET, return the login_form using render_template_string.
Flask
Hint
Check request.method. Use session.permanent = True if remember is checked. Redirect after login.
4
Add dashboard route to show logged-in user
Create a new route /dashboard that shows a welcome message with the logged-in username from the session. If no user is logged in, redirect to /login.
Flask
Hint
Check if session['username'] exists. Show welcome message or redirect to login.
Practice
(1/5)
1. What does the remember=True parameter do when used with login_user() in Flask-Login?
easy
A. Logs the user out immediately after login.
B. Deletes the user's account after login.
C. Prevents the user from logging in.
D. Keeps the user logged in across browser sessions using cookies.
Solution
Step 1: Understand the purpose of remember=True
This parameter tells Flask-Login to store a cookie that keeps the user logged in even after closing the browser.
Step 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 D
Quick Check:
Remember me = persistent login [OK]
Hint: Remember me means stay logged in after closing browser [OK]
Common Mistakes:
Thinking remember=True logs out user
Confusing remember with user registration
Assuming remember deletes user data
2. Which of the following is the correct way to enable 'remember me' when logging in a user in Flask?
easy
A. login_user(user, remember=1)
B. login_user(user, remember='yes')
C. login_user(user, remember=True)
D. login_user(user, remember='false')
Solution
Step 1: Check the correct parameter type
The remember parameter expects a boolean value, so True is 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 C
Quick Check:
Boolean True enables remember me [OK]
Hint: Use boolean True for remember parameter [OK]
Common Mistakes:
Passing strings instead of boolean
Using numbers instead of boolean
Using 'false' string instead of False
3. Given this Flask code snippet:
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?
medium
A. The user will remain logged in automatically.
B. The user will be logged out immediately.
C. The user will see an error message.
D. The user must log in again manually.
Solution
Step 1: Understand the effect of remember=True
This stores a cookie that keeps the user logged in even after browser restart.
Step 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 A
Quick Check:
Remember me keeps session after browser close [OK]
Hint: Remember me means no login needed after browser restart [OK]
Common Mistakes:
Assuming user is logged out after closing browser
Expecting error on reopening browser
Confusing remember with session timeout
4. What is wrong with this Flask code snippet for 'remember me' functionality?
login_user(user, remember='True')
medium
A. The user variable is not defined.
B. The remember parameter should be a boolean, not a string.
C. login_user does not accept a remember parameter.
D. The code is correct and will work as expected.
Solution
Step 1: Check parameter type for remember
The remember parameter 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 B
Quick Check:
remember must be True/False boolean [OK]
Hint: Use True without quotes for remember [OK]
Common Mistakes:
Passing 'True' as string instead of boolean
Forgetting to define user variable
Assuming remember is unsupported
5. You want to implement a logout button that clears the 'remember me' session in Flask. Which code snippet correctly logs out the user and clears the remembered login?
hard
A. from flask_login import logout_user
logout_user()
B. from flask_login import logout_user
logout_user(remember=False)
C. from flask_login import logout_user
logout_user(user)
D. from flask_login import logout_user
logout_user(clear=True)
Solution
Step 1: Understand logout_user behavior
Calling logout_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 A
Quick Check:
logout_user() clears session and remember me [OK]
Hint: Use logout_user() without parameters to clear remember me [OK]
Common Mistakes:
Passing parameters to logout_user()
Not calling logout_user to clear remember me
Assuming remember must be cleared separately
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.