How to use Blueprints with Flask-Admin

Viewed 68

How can I get Flask-Admin to work with blueprints?

Here is a minimum, reproducible example:

from flask import Flask, Blueprint
from flask_admin import Admin

app = Flask(__name__)

bp = Blueprint('bp', __name__)

admin = Admin(bp, name='admin')

app.register_blueprint(bp)

app.run(port=8000)

Opening a web broswer at http://localhost/admin results in:

werkzeug.routing.BuildError: Could not build url for endpoint 'admin.static' with values ['filename', 'v']. 
Did you mean 'bp.admin.static' instead?

Searching through Flask-Admin's source code, I see the following in admin/static.html:

{% macro url() -%}
    {{ get_url('{admin_endpoint}.static'.format(admin_endpoint=admin_view.admin.endpoint), *varargs, **kwargs) }}
{%- endmacro %}

My guess is that it is searching for the Flask Admin's bootstrap static code in bp.admin.static instead of the default admin.static.

0 Answers
Related