What is the purpose of parameter type converters in Flask routes?
Parameter type converters tell Flask to expect a specific type of data in the URL, like an integer or float, and automatically convert it before passing it to the function.
Click to reveal answer
beginner
How do you specify an integer parameter in a Flask route?
Use in the route URL. For example, /user/ means Flask expects an integer for 'id'.
Click to reveal answer
intermediate
What happens if a URL parameter does not match the specified type converter in Flask?
Flask will return a 404 error because the URL does not match the expected pattern with the correct type.
Click to reveal answer
intermediate
Explain the difference between the 'path' and 'string' converters in Flask.
The 'string' converter matches text without slashes, while 'path' matches text including slashes, allowing multi-level paths in the URL.
Click to reveal answer
beginner
How do you use a float parameter converter in a Flask route?
Use in the route URL. For example, /price/ expects a floating-point number for 'value'.
Click to reveal answer
Which converter would you use to accept only whole numbers in a Flask route?
Apath
Bfloat
Cint
Dstring
✗ Incorrect
The 'int' converter accepts only whole numbers (integers).
What does the 'path' converter allow that 'string' does not?
ANo characters
BOnly numbers
COnly letters
DText including slashes '/'
✗ Incorrect
The 'path' converter matches text including slashes, allowing multi-level paths.
If a route is defined as /item/, what happens if you visit /item/abc?
AThe price is set to 0
BFlask returns a 404 error
CFlask converts 'abc' to a float
DThe route works normally
✗ Incorrect
Since 'abc' is not a float, Flask returns a 404 error.
How would you write a route to accept a username that can include slashes?
A/user/<path:username>
B/user/<int:username>
C/user/<string:username>
D/user/<float:username>
✗ Incorrect
The 'path' converter allows slashes in the parameter.
Which converter is NOT a built-in Flask parameter type?
Abool
Bfloat
Cpath
Dint
✗ Incorrect
'bool' is not a built-in Flask converter; common ones are int, float, path, and string.
Describe how Flask uses parameter type converters in routes and why they are helpful.
Think about how Flask knows what kind of data to expect in the URL.
You got /5 concepts.
Explain the difference between the 'int', 'float', and 'path' converters in Flask with examples.
Consider what kind of data each converter allows and how it affects the URL.
You got /4 concepts.
Practice
(1/5)
1. What does the int converter do in a Flask route parameter like <int:id>?
easy
A. It matches any text including slashes.
B. It ensures the parameter is an integer and converts it automatically.
C. It converts the parameter to a string.
D. It converts the parameter to a floating-point number.
Solution
Step 1: Understand the role of int converter
The int converter tells Flask to accept only integer values for that URL part.
Step 2: Check what happens with the parameter
Flask automatically converts the matched URL part to an integer type before passing it to the view function.
Final Answer:
It ensures the parameter is an integer and converts it automatically. -> Option B
Quick Check:
int converter = integer parameter [OK]
Hint: int converter means only whole numbers allowed [OK]
Common Mistakes:
Thinking int converts to string
Confusing int with float converter
Assuming int matches any text
2. Which of the following is the correct syntax to define a Flask route that accepts a floating-point number parameter named price?
easy
A. @app.route('/item/<path:price>')
B. @app.route('/item/<int:price>')
C. @app.route('/item/<float:price>')
D. @app.route('/item/<str:price>')
Solution
Step 1: Identify the correct converter for floating-point numbers
The float converter is used to accept decimal numbers in the URL.
Step 2: Match the syntax for route parameter
The correct syntax is <float:price> inside the route decorator.
Final Answer:
@app.route('/item/<float:price>') -> Option C
Quick Check:
float converter = decimal number parameter [OK]
Hint: Use for decimal numbers in route parameters [OK]
When accessing /product/abc/19.99, what error occurs?
medium
A. ValueError because 'abc' is not an integer
B. TypeError because price is not a float
C. No error, it works fine
D. 404 Not Found error due to URL mismatch
Solution
Step 1: Check the int converter requirement
The first parameter expects an integer, but 'abc' is not an integer.
Step 2: Understand Flask routing behavior on type mismatch
Flask does not raise ValueError but returns 404 Not Found if the URL does not match the route pattern.
Final Answer:
404 Not Found error due to URL mismatch -> Option D
Quick Check:
Type mismatch in route = 404 error [OK]
Hint: Wrong type in URL parameter causes 404, not exception [OK]
Common Mistakes:
Expecting Python exceptions instead of 404
Confusing ValueError with Flask routing errors
Assuming route matches any string
5. You want to create a Flask route that accepts a file path parameter which may include slashes, and an integer version number after it, like /download/docs/manual/2. Which route definition correctly uses converters to achieve this?
hard
A. @app.route('/download/<path:filepath>/<int:version>')
B. @app.route('/download/<int:version>/<path:filepath>')
C. @app.route('/download/<path:filepath><int:version>')
D. @app.route('/download/<path:filepath>/<float:version>')
Solution
Step 1: Identify the order of parameters in the URL
The URL pattern is /download/ followed by a path (which may include slashes), then a slash, then an integer version.
Step 2: Use path for filepath and int for version in correct order
The route must be /download/<path:filepath>/<int:version> to match the URL structure.
Final Answer:
@app.route('/download/<path:filepath>/<int:version>') -> Option A
Quick Check:
path then int in route matches URL structure [OK]
Hint: Use path converter before int for multi-part paths [OK]
Common Mistakes:
Swapping parameter order
Missing slash between parameters
Using float instead of int for version
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.