Bird
Raised Fist0
Flaskframework~10 mins

Blueprint creation and registration in Flask - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a Flask blueprint named 'auth'.

Flask
from flask import Blueprint

auth = Blueprint('[1]', __name__)
Drag options to blanks, or click blank then click option'
Aapp
Bauth
Cmain
Dblueprint
Attempts:
3 left
💡 Hint
Common Mistakes
Using the app name instead of the blueprint name.
Using '__name__' as the first argument instead of the blueprint name.
2fill in blank
medium

Complete the code to register the 'auth' blueprint with the Flask app.

Flask
from flask import Flask

app = Flask(__name__)
app.[1](auth)
Drag options to blanks, or click blank then click option'
Aregister_blueprint
Badd_blueprint
Cinclude_blueprint
Dattach_blueprint
Attempts:
3 left
💡 Hint
Common Mistakes
Using a non-existent method like 'add_blueprint'.
Trying to assign the blueprint directly to the app.
3fill in blank
hard

Fix the error in the blueprint route decorator to use the correct blueprint name.

Flask
from flask import Blueprint

auth = Blueprint('auth', __name__)

@[1].route('/login')
def login():
    return 'Login Page'
Drag options to blanks, or click blank then click option'
Aapp
Bblueprint
Cflask
Dauth
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'app.route' inside blueprint code.
Using an undefined variable for the decorator.
4fill in blank
hard

Fill both blanks to create and register a blueprint named 'blog' with the Flask app.

Flask
from flask import Flask, Blueprint

app = Flask(__name__)
blog = Blueprint('[1]', __name__)
app.[2](blog)
Drag options to blanks, or click blank then click option'
Ablog
Bmain
Cregister_blueprint
Dadd_blueprint
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'main' instead of 'blog' as the blueprint name.
Using a wrong method like 'add_blueprint' to register.
5fill in blank
hard

Fill all three blanks to define a blueprint named 'shop', add a route '/items', and register it with the app.

Flask
from flask import Flask, Blueprint

app = Flask(__name__)
shop = Blueprint('[1]', __name__)

@shop.route('[2]')
def items():
    return 'Shop Items'

app.[3](shop)
Drag options to blanks, or click blank then click option'
Ashop
B/items
Cregister_blueprint
D/products
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different route path like '/products'.
Forgetting to register the blueprint with the app.

Practice

(1/5)
1. What is the main purpose of using a Blueprint in a Flask application?
easy
A. To handle user authentication
B. To create database models automatically
C. To organize routes and related code into reusable modules
D. To serve static files directly

Solution

  1. Step 1: Understand Blueprint role

    A Blueprint groups routes and code to keep the app organized and modular.
  2. Step 2: Compare options

    Only To organize routes and related code into reusable modules describes organizing routes and code. Others describe unrelated tasks.
  3. Final Answer:

    To organize routes and related code into reusable modules -> Option C
  4. Quick Check:

    Blueprint purpose = organize routes [OK]
Hint: Blueprints group routes for modular apps [OK]
Common Mistakes:
  • Thinking Blueprint creates database models
  • Confusing Blueprint with authentication
  • Assuming Blueprint serves static files
2. Which of the following is the correct way to create a Blueprint named 'blog' in Flask?
easy
A. blog = Blueprint('blog', app)
B. blog = Blueprint('blog')
C. blog = Blueprint(__name__, 'blog')
D. blog = Blueprint('blog', __name__)

Solution

  1. Step 1: Recall Blueprint constructor

    The Blueprint constructor requires the name and import name (usually __name__).
  2. Step 2: Check options

    blog = Blueprint('blog', __name__) uses correct order: name 'blog' and __name__. Others miss or swap arguments.
  3. Final Answer:

    blog = Blueprint('blog', __name__) -> Option D
  4. Quick Check:

    Blueprint(name, __name__) = correct [OK]
Hint: Blueprint needs name and __name__ args [OK]
Common Mistakes:
  • Omitting __name__ argument
  • Swapping argument order
  • Passing app instead of __name__
3. Given this code snippet, what will be the output when accessing the '/hello' route?
from flask import Flask, Blueprint
app = Flask(__name__)
hello_bp = Blueprint('hello', __name__)

@hello_bp.route('/hello')
def hello():
    return 'Hello from Blueprint!'

app.register_blueprint(hello_bp)

if __name__ == '__main__':
    app.run()
medium
A. 404 Not Found error
B. Hello from Blueprint!
C. 500 Internal Server Error
D. Empty response

Solution

  1. Step 1: Check route registration

    The route '/hello' is defined in the Blueprint and the Blueprint is registered on the app.
  2. Step 2: Understand response

    Accessing '/hello' calls the hello() function returning 'Hello from Blueprint!'.
  3. Final Answer:

    Hello from Blueprint! -> Option B
  4. Quick Check:

    Registered route returns defined string [OK]
Hint: Registered Blueprint routes respond normally [OK]
Common Mistakes:
  • Forgetting to register the Blueprint
  • Using wrong route path
  • Expecting error without registration
4. Identify the error in this Flask Blueprint setup:
from flask import Flask, Blueprint
app = Flask(__name__)
admin_bp = Blueprint('admin', __name__)

@admin_bp.route('/dashboard')
def dashboard():
    return 'Admin Dashboard'

# Missing line here

if __name__ == '__main__':
    app.run()
medium
A. Blueprint is not registered with the app
B. Route decorator syntax is wrong
C. Blueprint is not created correctly
D. Function dashboard() is missing return statement

Solution

  1. Step 1: Check Blueprint creation and route

    Blueprint and route are correctly defined with proper syntax and return statement.
  2. Step 2: Look for registration

    The Blueprint is not registered with the Flask app using app.register_blueprint(admin_bp).
  3. Final Answer:

    Blueprint is not registered with the app -> Option A
  4. Quick Check:

    Missing app.register_blueprint() causes route not found [OK]
Hint: Always register Blueprint with app [OK]
Common Mistakes:
  • Forgetting app.register_blueprint()
  • Misplacing route decorator
  • Missing return in route function
5. You want to create two Blueprints, user_bp and admin_bp, each with a route '/profile'. How do you register them so that user_bp routes are under '/user' and admin_bp routes under '/admin' in the main app?
hard
A. app.register_blueprint(user_bp, url_prefix='/user')\napp.register_blueprint(admin_bp, url_prefix='/admin')
B. app.register_blueprint(user_bp)\napp.register_blueprint(admin_bp)
C. app.register_blueprint(user_bp, url_prefix='/admin')\napp.register_blueprint(admin_bp, url_prefix='/user')
D. user_bp.route('/user/profile')\nadmin_bp.route('/admin/profile')

Solution

  1. Step 1: Understand url_prefix usage

    To group routes under a path prefix, use url_prefix when registering Blueprints.
  2. Step 2: Apply prefixes correctly

    Register user_bp with url_prefix='/user' and admin_bp with url_prefix='/admin'.
  3. Final Answer:

    app.register_blueprint(user_bp, url_prefix='/user')\napp.register_blueprint(admin_bp, url_prefix='/admin') -> Option A
  4. Quick Check:

    url_prefix sets route base path [OK]
Hint: Use url_prefix to separate Blueprint routes [OK]
Common Mistakes:
  • Not using url_prefix causing route conflicts
  • Swapping prefixes between Blueprints
  • Trying to set route paths inside Blueprint incorrectly
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