Simple and extensible admin interface framework for Flask
Project description
Flask-Admin
Introduction
Flask-Admin is a batteries-included, simple-to-use Flask extension that lets you add admin interfaces to Flask applications. It is inspired by the django-admin package, but implemented in such a way that the developer has total control of the look, feel and functionality of the resulting application.
Out-of-the-box, Flask-Admin plays nicely with various ORM’s, including
pymongo and
It also boasts a simple file management interface and a redis client console.
Several usage examples are included in the /examples folder. Feel free to add your own examples, or improve some of the existing ones, and submit them as a pull-request.
The biggest feature of Flask-Admin is flexibility. It aims to provide a set of simple tools that can be used for building admin interfaces of any complexity. So, to start off with you can create a very simple application in no time, with auto-generated CRUD-views for each of your models. But then you can go further and customize those views & forms as the need arises.
Flask-Admin is an active project, well-tested and production ready.
Documentation
Flask-Admin is extensively documented, you can find all of the documentation at http://readthedocs.org/docs/flask-admin.
The docs are auto-generated for the .rst files in the /doc folder. So if you come across any errors, or think of anything that should be included, then please make the changes and submit them as a pull-request.
Installation
To install Flask-Admin, simply:
pip install flask-admin
Or alternatively, you can download the repository and install manually by doing:
git clone git@github.com:mrjoes/flask-admin.git cd flask-admin python setup.py install
Tests
Test are run with nose. If you are not familiar with this package you can get some more info from their website.
To run the tests, simply:
pip install nose
and then:
cd flask-admin nosetests
You should see output such as:
---------------------------------------------------------------------- Ran 41 tests in 2.092s
Please note that you will need to install some additional dependencies in order for all of the tests to be executed successfully.
3rd Party Stuff
Flask-Admin is built with the help of Twitter Bootstrap and Select2.
If you want to localize your application, install the Flask-BabelEx package.
Changelog
1.0.7
Full change log and feature walkthrough can be found here.
Highlights:
Python 3 support
AJAX-based foreign-key data loading for all backends
New, optional, rule-based form rendering engine
MongoEngine fixes and features: GridFS support, nested subdocument configuration and much more
Greatly improved and more configurable inline models
New WTForms fields and widgets
form_extra_columns allows adding custom columns to the form declaratively
Redis cli
SQLAlchemy backend can handle inherited models with multiple PKs
Lots of bug fixes
1.0.6
Model views now support default sorting order
Model type/column formatters now accept additional view parameter
is_visible for administrative views
Model views have after_model_change method that can be overridden
In model views, get_query was split into get_count_query and get_query
Bootstrap 2.3.1
Bulk deletes go through delete_model
Flask-Admin no longer uses floating navigation bar
Translations: French, Persian (Farsi), Chinese (Simplified/Traditional), Czech
Bug fixes
1.0.5
SQLAlchemy 0.8 support
Choices and PostgreSQL Enum field type support
Flask-BabelEx will be used to localize administrative interface
Simple text file editor
File admin has additional hooks: rename, edit, upload, etc
Simple text file editor
External links in menu
Column descriptions
Possibility to override master template
Reworked templates. New ‘layout’ sample with completely different administrative UI
Ability to customize wtforms widget rendering through form_widget_args property
German translation (WIP)
Updated documentation
Lots of bug fixes
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.