Bird
Raised Fist0
Flaskframework~30 mins

Remember me functionality in Flask - Mini Project: Build & Apply

Choose your learning style10 modes available
Remember Me Functionality in Flask
📖 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

  1. 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.
  2. 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.
  3. Final Answer:

    Keeps the user logged in across browser sessions using cookies. -> Option D
  4. 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

  1. Step 1: Check the correct parameter type

    The remember parameter expects a boolean value, so True is correct.
  2. 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.
  3. Final Answer:

    login_user(user, remember=True) -> Option C
  4. 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

  1. Step 1: Understand the effect of remember=True

    This stores a cookie that keeps the user logged in even after browser restart.
  2. Step 2: Predict user state after reopening browser

    Because of the cookie, the user session persists, so the user stays logged in automatically.
  3. Final Answer:

    The user will remain logged in automatically. -> Option A
  4. 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

  1. Step 1: Check parameter type for remember

    The remember parameter must be a boolean value, not a string.
  2. Step 2: Validate other options

    User variable is assumed defined; login_user accepts remember; so only parameter type is wrong.
  3. Final Answer:

    The remember parameter should be a boolean, not a string. -> Option B
  4. 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

  1. Step 1: Understand logout_user behavior

    Calling logout_user() clears the user session and any remember me cookies automatically.
  2. Step 2: Analyze other options

    logout_user does not take parameters like remember, user, or clear; these cause errors or are ignored.
  3. Final Answer:

    from flask_login import logout_user logout_user() -> Option A
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard