Bird
Raised Fist0
Flaskframework~30 mins

Route decorator (@app.route) in Flask - Mini Project: Build & Apply

Choose your learning style10 modes available
Building a Simple Flask Webpage with @app.route
📖 Scenario: You are creating a small web application using Flask. You want to show a welcome message on the homepage.
🎯 Goal: Build a Flask app that shows 'Welcome to Flask!' when you visit the homepage URL.
📋 What You'll Learn
Create a Flask app instance named app
Use the @app.route decorator to define the homepage route '/'
Define a function called home that returns the string 'Welcome to Flask!'
Run the Flask app with debug mode enabled
💡 Why This Matters
🌍 Real World
Web developers use Flask and the @app.route decorator to create web pages and APIs that respond to different URLs.
💼 Career
Understanding routing in Flask is essential for backend web development jobs that build Python web applications.
Progress0 / 4 steps
1
Create the Flask app instance
Import Flask from the flask module and create a Flask app instance called app.
Flask
Hint

Use app = Flask(__name__) to create the app instance.

2
Add the route decorator for homepage
Use the @app.route decorator with the route '/' to define the homepage route.
Flask
Hint

Write @app.route('/') just before the function that handles the homepage.

3
Define the homepage function
Define a function called home that returns the string 'Welcome to Flask!'.
Flask
Hint

Define def home(): and return the welcome string inside it.

4
Run the Flask app
Add the code to run the Flask app with debug mode enabled by calling app.run(debug=True) inside the if __name__ == '__main__': block.
Flask
Hint

Use the standard Python entry point check and call app.run(debug=True) inside it.

Practice

(1/5)
1. What does the @app.route decorator do in a Flask application?
easy
A. It connects a URL path to a specific function that runs when that URL is visited.
B. It creates a database connection for the app.
C. It styles the HTML pages served by Flask.
D. It starts the Flask server automatically.

Solution

  1. Step 1: Understand the role of @app.route

    The decorator @app.route is used to link a URL path to a function in Flask.
  2. Step 2: Identify what happens when the URL is visited

    When a user visits that URL, Flask runs the linked function to generate a response.
  3. Final Answer:

    It connects a URL path to a specific function that runs when that URL is visited. -> Option A
  4. Quick Check:

    @app.route links URL to function [OK]
Hint: Remember: @app.route maps URLs to functions [OK]
Common Mistakes:
  • Thinking @app.route starts the server
  • Confusing it with database setup
  • Assuming it styles pages
2. Which of the following is the correct syntax to create a route for the URL path /home in Flask?
easy
A. @app.route('/home')\ndef home():\n return 'Welcome!'
B. app.route('/home')\ndef home():\n return 'Welcome!'
C. @app.route('/home')\nreturn 'Welcome!'
D. @app.route('/home')\ndef home:\n return 'Welcome!'

Solution

  1. Step 1: Check the decorator syntax

    The correct decorator syntax uses @app.route('/home') placed immediately before a function definition.
  2. Step 2: Verify the function definition and return statement

    The function must be defined with parentheses and a colon, and it returns a string response.
  3. Final Answer:

    @app.route('/home')\ndef home():\n return 'Welcome!' -> Option A
  4. Quick Check:

    Decorator + function with parentheses = correct syntax [OK]
Hint: Decorator needs @ and function needs () and : [OK]
Common Mistakes:
  • Missing @ before app.route
  • Omitting parentheses in function definition
  • Placing return outside function
3. What will be the output when visiting the URL /user/42 given this Flask code?
@app.route('/user/<int:id>')
def show_user(id):
    return f"User ID is {id}"
medium
A. User ID is <int:id>
B. User ID is 42
C. 404 Not Found error
D. User ID is id

Solution

  1. Step 1: Understand the route with variable part

    The route /user/<int:id> captures an integer from the URL and passes it as the argument id to the function.
  2. Step 2: Check the function output

    The function returns a string with the captured id value inserted using an f-string.
  3. Final Answer:

    User ID is 42 -> Option B
  4. Quick Check:

    Variable URL part passes 42 to function [OK]
Hint: Variable parts in < > pass values to function [OK]
Common Mistakes:
  • Thinking is printed literally
  • Expecting a 404 error without reason
  • Confusing variable name with string
4. Identify the error in this Flask route code:
@app.route('/hello')
def hello():
print('Hello World')
return 'Hello!'
medium
A. The return statement is outside the function.
B. The route decorator is missing parentheses.
C. The function name is invalid.
D. The function body is not indented properly.

Solution

  1. Step 1: Check indentation inside the function

    Python requires the function body to be indented. Here, print and return are not indented under def hello():.
  2. Step 2: Verify decorator and function syntax

    The decorator has correct parentheses and the function name is valid, so no errors there.
  3. Final Answer:

    The function body is not indented properly. -> Option D
  4. Quick Check:

    Python needs indented function bodies [OK]
Hint: Indent function code under def line [OK]
Common Mistakes:
  • Forgetting to indent function body
  • Removing parentheses from decorator
  • Misnaming the function
5. You want to create a Flask route that accepts a username in the URL like /profile/john and returns Hello, john!. Which code correctly achieves this?
hard
A. @app.route('/profile/<username>')\ndef profile():\n return f'Hello, {username}!'
B. @app.route('/profile/')\ndef profile(username):\n return f'Hello, {username}!'
C. @app.route('/profile/<username>')\ndef profile(username):\n return f'Hello, {username}!'
D. @app.route('/profile/username')\ndef profile():\n return 'Hello, username!'

Solution

  1. Step 1: Use variable URL part for username

    The route must capture username as a string variable using <username> in the URL.
  2. Step 2: Define function with matching parameter and return greeting

    The function must accept username as a parameter and return the greeting using an f-string.
  3. Final Answer:

    @app.route('/profile/<username>')\ndef profile(username):\n return f'Hello, {username}!' -> Option C
  4. Quick Check:

    Variable URL + matching param + f-string = correct [OK]
Hint: Match variable name in route and function parameter [OK]
Common Mistakes:
  • Using for a string username
  • Not passing username parameter to function
  • Hardcoding username in route path
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