pallets-eco

Flask-Admin is an extension that adds administrative interfaces to Flask apps, auto-generating CRUD views for SQLAlchemy, MongoDB, and other data sources with full customization.

v2.2.1
Published at
Sep 21, 2026
6,068
Stars
305
Download
Synced at
8d ago

Latest release

v2.2.1Sep 21, 2026, 06:11 AM
Downloads slow? Switch the source anytime above

README

Project Overview

Flask-Admin is a batteries-included, easy-to-use Flask extension for adding admin interfaces to Flask applications. Inspired by django-admin, it gives developers total control over the look, feel, functionality, and user experience. Out of the box it works with SQLAlchemy, pymongo, MongoEngine, and Peewee, and it also ships a simple file management interface and a Redis client console. It is well tested and production ready.

Item Value
Language Python
Base framework Flask
Type Admin interface extension
Data sources SQLAlchemy, pymongo, MongoEngine, Peewee
License BSD-3-Clause

A few lines generate model backends, with every look and behavior customizable.

Key Features

  • Automatic CRUD: generates create, read, update, and delete views for each model
  • Multi-source support: adapters for SQLAlchemy, pymongo, MongoEngine, and Peewee
  • File management: a simple built-in file management interface
  • Redis console: a Redis client console included
  • Flexible customization: views and forms can be customized layer by layer for backends of any complexity
  • UI components: built on Bootstrap, Select2, and Bootswatch
  • Localization: pairs with Flask-Babel for multilingual interfaces

Target Audience

  • Flask application developers
  • Teams that need internal admin backends fast
  • CMS and operations dashboard builders
  • Data management tool developers

Quick Start

  1. Install: pip install flask-admin
  2. Mount an Admin instance and register model views (SQLAlchemy example)
from flask import Flask
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView

app = Flask(__name__)
admin = Admin(app, name='Backoffice')
admin.add_view(ModelView(User, db.session))
  1. Run the app and visit http://localhost:5000/admin/
  2. Try the official example: clone the repo, enter examples/sqla, run uv run main.py

Core Advantages

  • Fast start: auto-generated views get a simple backend running in minutes
  • Highly adaptable: appearance and behavior stay in developer hands
  • ORM friendly: ready-made adapters for mainstream ORMs
  • Production ready: thoroughly tested with extensive docs

System Requirements

Item Requirement
Language Python 3
Framework Flask
Optional deps SQLAlchemy, pymongo, MongoEngine, Peewee

Notes

  • Optional dependencies: data layer support such as SQLAlchemy requires installing the matching package
  • Access control: the admin does not ship with authentication, wire up login and permission checks before going live

Release history

Sort