Skip to content

The Blueprint(url_prefix) parameter is not working when using nesting blueprint #4037

@greyli

Description

@greyli

Minimal example:

from flask import Flask, Blueprint

app = Flask(__name__)
parent = Blueprint('parent', __name__, url_prefix='/child')
child = Blueprint('child', __name__, url_prefix='/parent')


@child.get('/')
def index():
    return 'hello'


parent.register_blueprint(child)
app.register_blueprint(parent)

The output of flask routes:

$ flask routes
Endpoint            Methods  Rule
------------------  -------  -----------------------
parent.child.index  GET      /
static              GET      /static/<path:filename>

The URL rule should be /parent/child/ instead of /.

P.S. The URL prefix works fine if set the prefix by using register_blueprint(url_prefix).

Environment:

  • Flask version: 2.0

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions