Provides simple but efficient admin UI.
Python CSS HTML Makefile
Latest commit 40e13e8 Apr 19, 2015 @jeanphix Merge pull request #4 from philipmat/patch-1
Making it work with Flask >= 0.10 (Issue #3)
Failed to load latest commit information.
docs Removes docs Jun 26, 2012
examples Replaced odict by werkzeug.OrderedMultiDict Dec 2, 2011
flask_dashed Making it work with Flask >= 0.10 (Issue #3) Oct 3, 2013
tests Fixes a flask-testing import Sep 22, 2012
.gitignore Fixes .gitignore that now excludes .env Sep 22, 2012
.gitmodules Adds nib as a submodule Sep 22, 2012
.travis.yml Updates .travis.yml that now uses make to run test suite Sep 22, 2012 Fixes Sep 22, 2012
Makefile Adds a styles directive to Makefile Sep 22, 2012
README Added README Oct 21, 2011
README.rst Fixes travis build status Jun 26, 2012
setup.cfg added AdminTest Sep 14, 2011



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')