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
- SQLAlchemy,
- MongoEngine,
- pymongo and
- Peewee.
It also boasts a simple file management interface and a redis client console.
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.
Examples
Several usage examples are included in the /examples folder. Please feel free to add your own examples, or improve on some of the existing ones, and then submit them via GitHub as a pull-request.
You can see some of these examples in action at http://examples.flask-admin.org. To run that same page in your local environment, simply:
cd flask-admin python examples/runserver.py
Alternatively, you can run the examples one at a time, with something like:
cd flask-admin python examples/simple/simple.py
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 from the .rst files in the /doc folder. So if you come across any errors, or if you think of anything else that should be included, then please make the changes and submit them as a pull-request.
To build the docs in your local environment:
sudo pip install sphinx cd flask-admin sudo make html
Or, if you want to preview any .rst snippets that you may want to contribute, go to http://rst.ninjs.org/.
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 similar to:
... ---------------------------------------------------------------------- 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.8
Highlights:
- Cleaned up documentation, many thanks to Petrus Janse van Rensburg.
- More flexible menu system, ability to add links to menus
- Human-readable filter URLs
- Callable filter
options
EmailField
filter- Simple accessibility fixes
InlineFormField
now acceptswidget_args
andform_rules
arguments- Support for newer wtforms versions
form_rules
property that affects both create and edit forms- Lots of bugfixes
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 intoget_count_query
andget_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
Release history Release notifications
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size & hash SHA256 hash help | File type | Python version | Upload date |
---|---|---|---|
Flask-Admin-1.0.8.tar.gz (342.8 kB) Copy SHA256 hash SHA256 | Source | None | Apr 21, 2014 |