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 AMDownloads 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
- Install:
pip install flask-admin - 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))- Run the app and visit
http://localhost:5000/admin/ - Try the official example: clone the repo, enter
examples/sqla, runuv 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