Skip to main content

Simple and extensible admin interface framework for Flask

Project description

Flask-Admin

The project was recently moved into its own organization. Please update your references to git@github.com:flask-admin/flask-admin.git.

https://d322cqt584bo4o.cloudfront.net/flask-admin/localized.png https://travis-ci.org/flask-admin/flask-admin.png?branch=master

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

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 the examples on your local environment, one at a time, do something like:

cd flask-admin
python examples/simple/app.py

Documentation

Flask-Admin is extensively documented, you can find all of the documentation at http://flask-admin.readthedocs.org/en/latest/.

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, from the project directory:

pip install -r requirements-dev.txt
sudo make html

And 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:flask-admin/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, from the project directory, simply:

pip install -r requirements-dev.txt
nosetests

You should see output similar to:

.............................................
----------------------------------------------------------------------
Ran 102 tests in 13.132s

OK

For all the tests to pass successfully, you’ll need Postgres & MongoDB to be running locally. For Postgres:

CREATE DATABASE flask_admin_test;
CREATE EXTENSION postgis;

3rd Party Stuff

Flask-Admin is built with the help of Bootstrap and Select2.

If you want to localize your application, install the Flask-BabelEx package.

You can help improve Flask-Admin’s translations through Crowdin: https://crowdin.com/project/flask-admin

Changelog

1.2.0

  • Codebase was migrated to Flask-Admin GitHub organization

  • Automatically inject Flask-WTF CSRF token to internal Flask-Admin forms

  • MapBox v4 support for GeoAlchemy

  • Updated translations with help of CrowdIn

  • Show warning if field was ignored in form rendering rules

  • Simple AppEngine backend

  • Optional support for Font Awesome in templates and menus

  • Bug fixes

1.1.0

Mostly bug fix release. Highlights:

  • Inline model editing on the list page

  • FileAdmin refactoring and fixes

  • FileUploadField and ImageUploadField will work with Required() validator

  • Bug fixes

1.0.9

Highlights:

  • Bootstrap 3 support

  • WTForms 2.x support

  • Updated DateTime picker

  • SQLAlchemy backend: support for complex sortables, ability to search for related models, model inheritance support

  • Customizable URL generation logic for all views

  • New generic filter types: in list, empty, date range

  • Added the geoa contrib module, for working with geoalchemy2

  • Portugese translation

  • Lots of bug fixes

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 accepts widget_args and form_rules arguments

  • Support for newer wtforms versions

  • form_rules property that affects both create and edit forms

  • Lots of bugfixes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Flask-Admin-1.2.0.tar.gz (790.9 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page