Provides simple but efficient admin UI.
Switch branches/tags
Nothing to show
Clone or download
jeanphix Merge pull request #4 from philipmat/patch-1
Making it work with Flask >= 0.10 (Issue #3)
Latest commit 40e13e8 Apr 19, 2015



Flask-Dashed provides tools for build simple and extensible admin interfaces.

Online demonstration: (Github account required).

List view:

Form view:


pip install Flask-Dashed

Minimal usage


from flask import Flask
from flask_dashed.admin import Admin

app = Flask(__name__)
admin = Admin(app)

if __name__ == '__main__':

Sample application:

Deal with security

Securing all module endpoints:

from flask import session

book_module = admin.register_module(BookModule, '/books', 'books',
    'book management')
def login_required():
    return "user" in session

Securing specific module endpoint:

@book_module.secure_endpoint('edit', http_code=403)
def check_edit_credential(view):
    # I'm now signed in, may I modify the ressource?
    return session.user.can_edit_book(view.object)

Organize modules

As admin nodes are registered into a "tree" it's quite easy to organize them.:

library = admin.register_node('/library', 'library', my library)
book_module = admin.register_module(BookModule, '/books', 'books',
    'book management', parent=library)

Navigation and breadcrumbs are automatically builds to feet your needs. Child module security will be inherited from parent one.

SQLALchemy extension


from flask_dashed.ext.sqlalchemy import ModelAdminModule

class BookModule(ModelAdminModule):
    model = Book
    db_session = db.session

book_module = admin.register_module(BookModule, '/books', 'books',
    'book management')