Bird
Raised Fist0
Flaskframework~20 mins

Session data storage in Flask - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Session Storage Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate
2:00remaining
What is the output of this Flask session code?
Consider this Flask route that sets and reads session data. What will be printed when accessing the '/count' URL twice in a row?
Flask
from flask import Flask, session
app = Flask(__name__)
app.secret_key = 'secret'

@app.route('/count')
def count():
    if 'visits' in session:
        session['visits'] += 1
    else:
        session['visits'] = 1
    return f"Visit count: {session['visits']}"
AKeyError on second visit
BVisit count: 0 on first visit, Visit count: 1 on second visit
CVisit count: 1 on first visit, Visit count: 2 on second visit
DVisit count: 1 on both visits
Attempts:
2 left
💡 Hint
Think about how Flask session stores data between requests for the same client.
📝 Syntax
intermediate
1:30remaining
Which option correctly sets a session variable in Flask?
You want to store the username 'alice' in the Flask session. Which code snippet does this correctly?
Asession['username'] = 'alice'
Bsession.username = 'alice'
Csession.set('username', 'alice')
Dsession.add('username', 'alice')
Attempts:
2 left
💡 Hint
Flask session behaves like a dictionary.
🔧 Debug
advanced
2:00remaining
Why does this Flask session code raise a RuntimeError?
Examine this Flask code snippet. Why does it raise a RuntimeError: Working outside of request context?
Flask
from flask import session

def set_user():
    session['user'] = 'bob'

set_user()
ABecause 'user' is a reserved session key
BBecause session can only be accessed inside a request context
CBecause session requires a database connection
DBecause the secret_key is missing
Attempts:
2 left
💡 Hint
When does Flask create the session object?
❓ state_output
advanced
2:00remaining
What is the session content after this sequence of requests?
Given this Flask route, what will be the session content after visiting '/add/5' then '/add/3'?
Flask
from flask import Flask, session
app = Flask(__name__)
app.secret_key = 'secret'

@app.route('/add/<int:num>')
def add(num):
    total = session.get('total', 0)
    total += num
    session['total'] = total
    return f"Total: {total}"
A{}
B{'total': 3}
C{'total': 5}
D{'total': 8}
Attempts:
2 left
💡 Hint
Session data persists and accumulates across requests from the same client.
🧠 Conceptual
expert
2:30remaining
Which statement about Flask session storage is true?
Select the correct statement about how Flask session stores data by default.
AFlask session stores data on the client inside a signed cookie
BFlask session stores data on the server in a database by default
CFlask session data is encrypted and stored in server memory
DFlask session requires Redis to store session data
Attempts:
2 left
💡 Hint
Think about where Flask keeps session data without extra setup.

Practice

(1/5)
1. What is the main purpose of using session data storage in a Flask web application?
easy
A. To permanently save data on the server's hard drive
B. To keep user information between different pages securely
C. To speed up the loading of static files like images
D. To replace cookies with a faster alternative

Solution

  1. Step 1: Understand session data role

    Session data stores user info temporarily during their visit to keep state across pages.
  2. Step 2: Differentiate from other storage

    It is not permanent storage or related to static files; it keeps data safe between requests.
  3. Final Answer:

    To keep user information between different pages securely -> Option B
  4. Quick Check:

    Session stores user info between pages = A [OK]
Hint: Sessions keep user info across pages safely [OK]
Common Mistakes:
  • Confusing session with permanent database storage
  • Thinking session speeds up static file loading
  • Believing session replaces cookies entirely
2. Which line of code correctly sets the secret key needed for Flask sessions?
easy
A. app.set_secret('mysecret')
B. session.secret = 'mysecret'
C. app.secret_key = 'mysecret'
D. app.session_key = 'mysecret'

Solution

  1. Step 1: Recall Flask session setup

    Flask requires setting app.secret_key to enable session encryption.
  2. Step 2: Check syntax correctness

    Only app.secret_key = 'mysecret' is valid; others are invalid method or attribute names.
  3. Final Answer:

    app.secret_key = 'mysecret' -> Option C
  4. Quick Check:

    Set secret_key with app.secret_key = value [OK]
Hint: Use app.secret_key to enable sessions [OK]
Common Mistakes:
  • Using wrong attribute like app.session_key
  • Trying to call a non-existent method set_secret
  • Assigning secret to session object instead of app
3. Given this Flask code snippet:
from flask import Flask, session
app = Flask(__name__)
app.secret_key = 'key'

@app.route('/')
def index():
    session['count'] = session.get('count', 0) + 1
    return str(session['count'])

What will the user see on their first visit to the '/' route?
medium
A. 0
B. Error
C. None
D. 1

Solution

  1. Step 1: Analyze session count initialization

    On first visit, session.get('count', 0) returns 0, then adds 1, so count becomes 1.
  2. Step 2: Understand return value

    The function returns the string of session['count'], which is '1'.
  3. Final Answer:

    1 -> Option D
  4. Quick Check:

    First visit count = 1 [OK]
Hint: session.get with default 0 then add 1 means first count is 1 [OK]
Common Mistakes:
  • Thinking count starts at 0 instead of 1
  • Expecting None because key is missing
  • Assuming code causes an error without secret_key
4. What is wrong with this Flask code snippet for storing session data?
from flask import Flask, session
app = Flask(__name__)

@app.route('/')
def index():
    session['user'] = 'Alice'
    return session['user']
medium
A. Missing app.secret_key setup
B. session['user'] cannot store strings
C. Flask app must import request to use session
D. Route decorator syntax is incorrect

Solution

  1. Step 1: Check session requirements

    Flask sessions require app.secret_key to be set for security.
  2. Step 2: Identify missing secret_key

    The code does not set app.secret_key, so session will not work properly.
  3. Final Answer:

    Missing app.secret_key setup -> Option A
  4. Quick Check:

    Sessions need app.secret_key set [OK]
Hint: Always set app.secret_key before using session [OK]
Common Mistakes:
  • Thinking session can't store strings
  • Believing request import is needed for session
  • Assuming route decorator syntax is wrong
5. You want to store a user's preferred language in the session and retrieve it safely. Which code snippet correctly sets and reads this value in Flask?
hard
A. session['lang'] = 'en' language = session.get('lang', 'default')
B. session.set('lang', 'en') language = session.get('lang')
C. session['lang'] = 'en' language = session['lang']
D. session['lang'] = 'en' language = session['language']

Solution

  1. Step 1: Correctly set session key

    Assigning with session['lang'] = 'en' is correct to store the language.
  2. Step 2: Safely retrieve session value

    Using session.get('lang', 'default') safely reads the value with a fallback if missing.
  3. Final Answer:

    session['lang'] = 'en'\nlanguage = session.get('lang', 'default') -> Option A
  4. Quick Check:

    Use session.get to safely read session keys [OK]
Hint: Use session.get('key', default) to avoid errors [OK]
Common Mistakes:
  • Using session.set which does not exist
  • Accessing wrong key name on read
  • Not providing default causing KeyError
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