Routing in Flask is the process of matching a URL to a function that handles the request and returns a response. It connects web addresses to Python code.
Click to reveal answer
beginner
Why is routing considered the core of Flask?
Routing is core because it directs user requests to the right code. Without routing, Flask wouldn't know what to do when someone visits a web address.
Click to reveal answer
beginner
How does Flask define routes in code?
Flask uses decorators like @app.route('/path') above a function to link a URL path to that function.
Click to reveal answer
beginner
What happens if a route is not defined for a URL in Flask?
Flask returns a 404 error, meaning the page or resource was not found because no route matches the URL.
Click to reveal answer
intermediate
How does routing help organize a Flask web app?
Routing helps organize by clearly linking URLs to specific functions, making the app easier to understand and maintain.
Click to reveal answer
What does the @app.route decorator do in Flask?
AHandles database connections
BStarts the Flask server
CImports Flask modules
DLinks a URL path to a function
✗ Incorrect
The @app.route decorator tells Flask which URL should trigger the decorated function.
What response does Flask give if no route matches a URL?
A200 OK
B404 Not Found
C500 Internal Server Error
D302 Redirect
✗ Incorrect
If Flask can't find a matching route, it returns a 404 Not Found error.
Why is routing important in Flask?
AIt connects URLs to code functions
BIt manages user sessions
CIt styles the web pages
DIt stores data in a database
✗ Incorrect
Routing connects web addresses to the functions that handle them.
Which of these is a valid Flask route definition?
A@app.route('/home')
Bdef route('/home'):
Croute('/home') => function
Dapp.route('/home') = function
✗ Incorrect
Flask uses the @app.route decorator to define routes.
What would happen if Flask had no routing system?
AIt would automatically generate pages
BIt would connect to databases
CIt would not know how to respond to URLs
DIt would style the website
✗ Incorrect
Without routing, Flask can't match URLs to code, so it can't respond properly.
Explain in your own words why routing is the core of Flask.
Think about how a website knows what to show when you visit a link.
You got /3 concepts.
Describe how you would create a new route in a Flask app.
Remember the special symbol @ before route.
You got /3 concepts.
Practice
(1/5)
1. Why is routing considered the core of Flask?
easy
A. Because it connects web addresses (URLs) to Python functions that handle requests.
B. Because it manages the database connections automatically.
C. Because it styles the webpage with CSS.
D. Because it handles user authentication by default.
Solution
Step 1: Understand Flask's main job
Flask is a web framework that responds to web requests by running Python code.
Step 2: Role of routing in Flask
Routing links URLs to specific Python functions, so Flask knows what code to run for each web address.
Final Answer:
Because it connects web addresses (URLs) to Python functions that handle requests. -> Option A
Quick Check:
Routing = URL to function link [OK]
Hint: Routing links URLs to functions in Flask [OK]
Common Mistakes:
Thinking routing manages databases
Confusing routing with styling or CSS
Assuming routing handles user login automatically
2. Which of the following is the correct way to define a route in Flask?
easy
A. @app.route('/home')\nreturn 'Welcome!'
B. @app.route('/home')\ndef home():\n return 'Welcome!'
C. def app.route('/home'):\n return 'Welcome!'
D. app.route('/home')\ndef home():\n print('Welcome!')
Solution
Step 1: Recognize Flask route decorator syntax
Routes use the @app.route decorator above a function to link a URL to that function.
Step 2: Check each option's syntax
@app.route('/home')\ndef home():\n return 'Welcome!' correctly uses @app.route('/home') above a function that returns a string. Others have syntax errors or missing function definitions.
Final Answer:
@app.route('/home')\ndef home():\n return 'Welcome!' -> Option B
Quick Check:
Route decorator + function = correct syntax [OK]
Hint: Use @app.route above a function to define routes [OK]
Common Mistakes:
Missing @ before app.route
Placing return outside function
Using app.route as a function instead of decorator
3. What will be the output when accessing the URL /user/42 in this Flask app?
@app.route('/user/<int:id>')
def show_user(id):
return f'User ID is {id}'
medium
A. User ID is 42
B. User ID is <int:id>
C. 404 Not Found error
D. User ID is id
Solution
Step 1: Understand dynamic routing with variables
The route uses <int:id> to capture an integer from the URL and pass it as the 'id' argument.
Step 2: Check the function output
The function returns a string with the captured id inserted using an f-string, so accessing /user/42 returns 'User ID is 42'.
Final Answer:
User ID is 42 -> Option A
Quick Check:
Dynamic route passes 42 as id [OK]
Hint: Dynamic routes pass URL parts as function inputs [OK]
A. Return statement cannot be used in Flask routes.
B. Route decorator syntax is incorrect.
C. Missing indentation inside the function.
D. Function name 'hello' is invalid.
Solution
Step 1: Check Python indentation rules
Python requires code inside functions to be indented. Here, 'print' and 'return' are not indented.
Step 2: Confirm route decorator and function name
The decorator syntax and function name are valid. Return statements are allowed in Flask routes.
Final Answer:
Missing indentation inside the function. -> Option C
Quick Check:
Indent code inside functions [OK]
Hint: Indent function code properly in Python [OK]
Common Mistakes:
Ignoring indentation errors
Thinking decorator syntax is wrong
Believing return is disallowed in routes
5. You want to create a Flask route that accepts a username in the URL and returns a greeting only if the username is not empty. Which code correctly implements this?
hard
A. @app.route('/greet/<username>')
def greet(username):
return 'Hello!'
B. @app.route('/greet/<username>')
def greet(username):
if username == None:
return 'No username provided.'
return f'Hello, {username}!'
C. @app.route('/greet/')
def greet():
return 'Hello, user!'
D. @app.route('/greet/<username>')
def greet(username):
if username:
return f'Hello, {username}!'
else:
return 'No username provided.'
Solution
Step 1: Understand dynamic route with username
The route captures 'username' from the URL and passes it to the function.
Step 2: Check conditional greeting logic
@app.route('/greet/<username>')
def greet(username):
if username:
return f'Hello, {username}!'
else:
return 'No username provided.' checks if username is truthy (not empty) and returns a personalized greeting; else returns a message for missing username.
Step 3: Verify other options
@app.route('/greet/<username>')
def greet(username):
if username == None:
return 'No username provided.'
return f'Hello, {username}!' incorrectly checks for None but username will never be None if route matches. @app.route('/greet/')
def greet():
return 'Hello, user!' lacks username parameter. @app.route('/greet/<username>')
def greet(username):
return 'Hello!' ignores username value.
Final Answer:
@app.route('/greet/<username>')
def greet(username):
if username:
return f'Hello, {username}!'
else:
return 'No username provided.' -> Option D
Quick Check:
Check username truthiness before greeting [OK]
Hint: Check if username is truthy to handle empty input [OK]
Common Mistakes:
Checking username == None instead of truthiness
Ignoring username parameter in function
Defining route without username parameter
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.