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.svg https://travis-ci.org/flask-admin/flask-admin.svg?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 add your own, or improve on the existing examples, and submit a pull-request.

To run the examples in your local environment:

1. Clone the repository::

      git clone https://github.com/flask-admin/flask-admin.git
      cd flask-admin

2. Create and activate a virtual environment::

      virtualenv env -p python3
      source env/bin/activate

3. Install requirements::

      pip install -r 'examples/sqla/requirements.txt'

4. Run the application::

      python examples/sqla/run_server.py

Documentation

Flask-Admin is extensively documented, you can find all of the documentation at https://flask-admin.readthedocs.io/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:

tox -e docs-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:

> psql postgres
CREATE DATABASE flask_admin_test;
\q

> psql flask_admin_test
CREATE EXTENSION postgis;
CREATE EXTENSION hstore;

You can also run the tests on multiple environments using tox.

3rd Party Stuff

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

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.5.5

  • Werkzeug 1.0 compatibility fix

  • Use fa-circle-o icon for unchecked booleans

  • A few SQLAlchemy-related bug fixes

1.5.4

  • Fix display of inline x-editable boolean fields on list view

  • Add support for several SQLAlchemy-Utils data types

  • Support searching on SQLAlchemy hybrid properties

  • Extra URL paramaters are now propagated to the next page when searching / filtering

  • Add enum34 dependency when running on legacy Python version

  • Update Mapbox API v1 URL format

  • Update jQuery and moment dependencies in templates

  • Fixed a datepicker issue, where only dates up to 2015 were showing up

  • Updated Pillow dependency version

1.5.3

  • Fixed XSS vulnerability

  • Support nested categories in the navbar menu

  • SQLAlchemy
    • sort on multiple columns with column_default_sort

    • sort on related models in column_sortable_list

    • show searchable fields in search input’s placeholder text

    • fix: inline model forms can now also be used for models with multiple primary keys

    • support for using mapped column_property

  • Upgrade Leaflet and Leaflet.draw plugins, used for geoalchemy integration

  • Specify minimum_input_length for ajax widget

  • Peewee: support composite keys

  • MongoEngine: when searching/filtering the input is now regarded as case-insensitive by default

  • FileAdmin
    • handle special characters in filename

    • fix a bug with listing directories on Windows

    • avoid raising an exception when unknown sort parameter is encountered

  • WTForms 3 support

1.5.2

  • Fixed XSS vulnerability

  • Fixed Peewee support

  • Added detail view column formatters

  • Updated Flask-Login example to work with the newer version of the library

  • Various SQLAlchemy-related fixes

  • Various Windows related fixes for the file admin

1.5.1

  • Dropped Python 2.6 support

  • Fixed SQLAlchemy >= 1.2 compatibility

  • Fixed Pewee 3.0 compatibility

  • Fixed max year for a combo date inline editor

  • Lots of small bug fixes

1.5.0

  • Fixed CSRF generation logic for multi-process deployments

  • Added WTForms >= 3.0 support

  • Flask-Admin would not recursively save inline models, allowing arbitrary nesting

  • Added configuration properties that allow injection of additional CSS and JS dependencies into templates without overriding them

  • SQLAlchemy backend - Updated hybrid property detection using new SQLAlchemy APIs - Added support for association proxies - Added support for remote hybrid properties filters - Added support for ARRAY column type

  • Localization-related fixes

  • MongoEngine backend is now properly formats model labels

  • Improved Google App Engine support: - Added TextProperty, KeyProperty and SelectField support - Added support for form_args, excluded_columns, page_size and after_model_update

  • Fixed URL generation with localized named filters

  • FileAdmin has Bootstrap 2 support now

  • Geoalchemy fixes - Use Google Places (by default) for place search

  • Updated translations

  • Bug fixes

1.4.2

  • Small bug fix release. Fixes regression that prevented usage of “virtual” columns with a custom formatter.

1.4.1

  • Official Python 3.5 support

  • Customizable row actions

  • Tablib support (exporting to XLS, XLSX, CSV, etc)

  • Updated external dependencies (jQuery, x-editable, etc)

  • Added settings that allows exceptions to be raised on view errors

  • Bug fixes

1.4.0

  • Updated and reworked documentation

  • FileAdmin went through minor refactoring and now supports remote file systems. Comes with the new, optional, AWS S3 file management interface

  • Configurable CSV export for model views

  • Added overridable URL generation logic. Allows using custom URLs with parameters for administrative views

  • Added column_display_actions to ModelView control visibility of the action column without overriding the template

  • Added support for the latest MongoEngine

  • New SecureForm base class for easier CSRF validation

  • Lots of translation-related fixes and updated translations

  • Bug fixes

1.3.0

  • New feature: Edit models in the list view in a popup

  • New feature: Read-only model details view

  • Fixed XSS in column_editable_list values

  • Improved navigation consistency in model create and edit views

  • Ability to choose page size in model list view

  • Updated client-side dependencies (jQuery, Select2, etc)

  • Updated documentation and examples

  • Updated translations

  • Bug fixes

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.5.5.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

Flask_Admin-1.5.5-py3-none-any.whl (1.9 MB view details)

Uploaded Python 3

File details

Details for the file Flask-Admin-1.5.5.tar.gz.

File metadata

  • Download URL: Flask-Admin-1.5.5.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.1

File hashes

Hashes for Flask-Admin-1.5.5.tar.gz
Algorithm Hash digest
SHA256 ff8270de5e8916541d19a0b03e469e2f8bbd22e4952c17aebc605112976f2fc4
MD5 2adc34ddea7106e6f12d55729ff3b51f
BLAKE2b-256 93281b3c91ec6366616f7f7b7636b927829226a23302e207702e3d59c5842a00

See more details on using hashes here.

File details

Details for the file Flask_Admin-1.5.5-py3-none-any.whl.

File metadata

  • Download URL: Flask_Admin-1.5.5-py3-none-any.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.1

File hashes

Hashes for Flask_Admin-1.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 aeebf87b5d5fd18525c876e0ecd71e0d0837614610122be235375c411b2d59dc
MD5 7b7e690bf0dd38e6e30bd7790e99538c
BLAKE2b-256 be4c540ea85163e5b004e4018640bc21ffde34732ae14b0d0ae63b66733b764a

See more details on using hashes here.

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