Bird
Raised Fist0
Flaskframework~20 mins

Static folder configuration in Flask - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Static Folder Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate
2:00remaining
What is the URL to access a static file?
Given a Flask app with the default static folder named 'static', what URL path will serve the file located at static/images/logo.png?
Flask
from flask import Flask
app = Flask(__name__)

# File located at static/images/logo.png

@app.route('/')
def home():
    return 'Home Page'

if __name__ == '__main__':
    app.run()
A/static/images/logo.png
B/images/logo.png
C/static/logo.png
D/assets/images/logo.png
Attempts:
2 left
💡 Hint
Flask serves static files from the folder named 'static' by default under the '/static' URL prefix.
📝 Syntax
intermediate
2:00remaining
How to change the static folder name in Flask?
Which code snippet correctly changes the static folder from the default 'static' to 'assets' in a Flask app?
Aapp = Flask(__name__, static_folder='/assets')
Bapp = Flask(__name__, static_folder='assets')
Capp = Flask(__name__, static_url_path='assets')
Dapp = Flask(__name__, static_path='assets')
Attempts:
2 left
💡 Hint
The parameter to set the folder name is 'static_folder'.
🔧 Debug
advanced
2:00remaining
Why does Flask not serve static files from a custom folder?
A developer sets app = Flask(__name__, static_folder='public') but accessing /public/style.css returns 404. What is the cause?
AThe static_url_path must be set to '/public' to match the folder name.
BThe URL path to static files is still '/static' by default, but the folder is 'public', so the URL should be '/public/style.css'.
CFlask requires the static folder to be named 'static' and cannot be changed.
DThe static_folder parameter must be an absolute path, not a relative one.
Attempts:
2 left
💡 Hint
Changing the folder does not change the URL path unless you also set static_url_path.
❓ state_output
advanced
2:00remaining
What is the value of static_url_path after app creation?
Given app = Flask(__name__, static_folder='assets', static_url_path='/content'), what is the value of app.static_url_path?
Flask
from flask import Flask
app = Flask(__name__, static_folder='assets', static_url_path='/content')
print(app.static_url_path)
A/assets
B/
C/static
D/content
Attempts:
2 left
💡 Hint
static_url_path sets the URL prefix for static files.
🧠 Conceptual
expert
2:00remaining
Why use a custom static_url_path in Flask?
Which reason best explains why a developer might set a custom static_url_path different from the default '/static'?
ABecause Flask requires a custom static_url_path for production environments.
BTo make Flask serve static files faster by changing the URL path.
CTo avoid URL conflicts with other routes or external services using '/static'.
DTo automatically compress static files when served.
Attempts:
2 left
💡 Hint
Think about URL naming conflicts in web apps.

Practice

(1/5)
1. What is the default folder name Flask uses to serve static files like images and CSS?
easy
A. assets
B. static
C. public
D. files

Solution

  1. Step 1: Recall Flask default static folder

    Flask by default looks for a folder named static in your project to serve static files.
  2. Step 2: Confirm other options are not defaults

    Folders like assets, public, or files are common in other frameworks but not Flask's default.
  3. Final Answer:

    static -> Option B
  4. Quick Check:

    Default static folder = static [OK]
Hint: Remember Flask uses 'static' folder by default for static files [OK]
Common Mistakes:
  • Confusing 'assets' or 'public' as default static folder
  • Thinking Flask serves static files from root directory
  • Assuming no default static folder exists
2. Which of the following is the correct way to change the static folder name to 'assets' when creating a Flask app?
easy
A. app = Flask(__name__, static='assets')
B. app = Flask(static_folder='assets')
C. app = Flask(__name__, static_folder='assets')
D. app = Flask(__name__, static_url_path='assets')

Solution

  1. Step 1: Identify correct Flask constructor parameter

    The parameter to change the static folder name is static_folder, used as Flask(__name__, static_folder='assets').
  2. Step 2: Check other options for errors

    static='assets' is invalid, missing __name__ is wrong, and static_url_path changes URL path, not folder name.
  3. Final Answer:

    app = Flask(__name__, static_folder='assets') -> Option C
  4. Quick Check:

    Change folder with static_folder param [OK]
Hint: Use static_folder param in Flask constructor to rename folder [OK]
Common Mistakes:
  • Using static instead of static_folder
  • Omitting __name__ argument
  • Confusing static_url_path with static_folder
3. Given this Flask app code:
app = Flask(__name__, static_folder='assets', static_url_path='/content')

# Assume assets folder contains image.png

# What URL path serves image.png?
medium
A. /content/image.png
B. /assets/image.png
C. /static/image.png
D. /image.png

Solution

  1. Step 1: Understand static_folder and static_url_path roles

    static_folder='assets' sets the folder name, static_url_path='/content' sets the URL prefix to access static files.
  2. Step 2: Determine URL to access image.png

    Since URL path is set to /content, the image is served at /content/image.png.
  3. Final Answer:

    /content/image.png -> Option A
  4. Quick Check:

    URL path = static_url_path value [OK]
Hint: URL uses static_url_path, not static_folder name [OK]
Common Mistakes:
  • Assuming URL matches folder name
  • Using default /static URL path despite override
  • Confusing folder name with URL path
4. What is wrong with this Flask app code if static files are not served correctly?
app = Flask(__name__, static_folder='staticfiles')

# staticfiles folder exists with CSS files

# Trying to access /static/style.css returns 404
medium
A. The URL path /static does not match the static_folder name 'staticfiles'
B. The static_folder parameter should be set to 'static', not 'staticfiles'
C. The static_url_path should be set to '/staticfiles' to match folder name
D. Flask does not serve static files automatically

Solution

  1. Step 1: Check static_folder and URL path mismatch

    Flask serves static files at URL path /static by default, but folder is renamed to staticfiles.
  2. Step 2: Understand URL path must match static_url_path

    Since static_url_path is not set, Flask expects files at /static URL but folder is staticfiles, causing 404.
  3. Final Answer:

    The URL path /static does not match the static_folder name 'staticfiles' -> Option A
  4. Quick Check:

    URL path must match static_folder or static_url_path [OK]
Hint: Match static_url_path with static_folder or set both explicitly [OK]
Common Mistakes:
  • Assuming folder rename auto-updates URL path
  • Not setting static_url_path when changing folder
  • Believing Flask never serves static files automatically
5. You want to serve static files from a folder named 'public_assets' but keep the URL path as '/static'. Which Flask app configuration achieves this?
hard
A. app = Flask(__name__, static_url_path='/static')
B. app = Flask(__name__, static_folder='static', static_url_path='/public_assets')
C. app = Flask(__name__, static_folder='public_assets')
D. app = Flask(__name__, static_folder='public_assets', static_url_path='/static')

Solution

  1. Step 1: Set static_folder to 'public_assets'

    To serve files from 'public_assets' folder, set static_folder='public_assets'.
  2. Step 2: Keep URL path as '/static'

    Set static_url_path='/static' to keep URL path unchanged.
  3. Step 3: Verify other options

    app = Flask(__name__, static_folder='static', static_url_path='/public_assets') swaps folder and URL path, C uses default URL path '/static', D misses folder setting.
  4. Final Answer:

    app = Flask(__name__, static_folder='public_assets', static_url_path='/static') -> Option D
  5. Quick Check:

    Folder and URL path set explicitly [OK]
Hint: Set static_folder and static_url_path explicitly to control folder and URL [OK]
Common Mistakes:
  • Swapping folder and URL path values
  • Not setting static_url_path when folder changes
  • Assuming default URL path changes with folder
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