Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pallets-eco/flask-admin
Simple and extensible administrative interface framework for Flask
https://github.com/pallets-eco/flask-admin
Last synced: 3 days ago
JSON representation
Simple and extensible administrative interface framework for Flask
- Host: GitHub
- URL: https://github.com/pallets-eco/flask-admin
- Owner: pallets-eco
- License: bsd-3-clause
- Created: 2012-03-18T23:21:57.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2024-10-28T21:17:20.000Z (about 2 months ago)
- Last Synced: 2024-10-29T11:28:18.739Z (about 1 month ago)
- Language: Python
- Homepage: https://flask-admin.readthedocs.io
- Size: 15.9 MB
- Stars: 5,786
- Watchers: 154
- Forks: 1,571
- Open Issues: 378
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
- jimsghstars - pallets-eco/flask-admin - Simple and extensible administrative interface framework for Flask (Python)
README
# Flask-Admin
The project was recently moved into its own organization. Please update
your references to `https://github.com/pallets-eco/flask-admin.git`.[![image](https://d322cqt584bo4o.cloudfront.net/flask-admin/localized.svg)](https://crowdin.com/project/flask-admin) [![image](https://github.com/pallets-eco/flask-admin/actions/workflows/tests.yaml/badge.svg?branch=master)](https://github.com/pallets-eco/flask-admin/actions/workflows/test.yaml)
## Pallets Community Ecosystem
> [!IMPORTANT]\
> This project is part of the Pallets Community Ecosystem. Pallets is the open
> source organization that maintains Flask; Pallets-Eco enables community
> maintenance of related projects. If you are interested in helping maintain
> this project, please reach out on [the Pallets Discord server][discord].[discord]: https://discord.gg/pallets
## Introduction
Flask-Admin is a batteries-included, simple-to-use
[Flask](https://flask.palletsprojects.com/) 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 over the look, feel, functionality and user experience of the resulting
application.Out-of-the-box, Flask-Admin plays nicely with various ORM\'s, including
- [SQLAlchemy](https://www.sqlalchemy.org/)
- [pymongo](https://pymongo.readthedocs.io/)
- and [Peewee](https://github.com/coleifer/peewee).It also boasts a simple file management interface and a [Redis
client](https://redis.io/) console.The biggest feature of Flask-Admin is its flexibility. It aims to provide a
set of simple tools that can be used to build admin interfaces of
any complexity. To start off, you can create a very simple
application in no time, with auto-generated CRUD-views for each of your
models. Then you can further customize those views and 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:```bash
git clone https://github.com/pallets-eco/flask-admin.git
cd flask-admin
```
2. Create and activate a virtual environment:```bash
# Windows:
python -m venv .venv
.venv\Scripts\activate# Linux:
python3 -m venv .venv
source .venv/bin/activate
```3. Navigate into the SQLAlchemy example folder:
```bash
cd examples/sqla
```4. Install requirements:
```bash
pip install -r requirements.txt
```5. Run the application:
```bash
python app.py
```6. Check the Flask app running on .
## Documentation
Flask-Admin is extensively documented, you can find all of the
documentation at .The docs are auto-generated from the *.rst* files in the */doc* folder.
If you come across any errors or if you think of anything else that
should be included, feel free to make the changes and submit a *pull-request*.To build the docs in your local environment, from the project directory:
tox -e docs-html
## Installation
To install Flask-Admin, simply:
pip install flask-admin
Or alternatively, you can download the repository and install manually
by doing:git clone https://github.com/pallets-eco/flask-admin.git
cd flask-admin
pip install .## Tests
Tests are run with *pytest*. If you are not familiar with this package, you can find out more on [their website](https://pytest.org/).
To run the tests, from the project directory, simply run:
pip install --use-pep517 -r requirements/dev.txt
pytestYou should see output similar to:
.............................................
----------------------------------------------------------------------
Ran 102 tests in 13.132sOK
**NOTE!** For all the tests to pass successfully, you\'ll need Postgres (with
the postgis and hstore extension) & MongoDB to be running locally. You'll
also need *libgeos* available.For Postgres:
```bash
psql postgres
> CREATE DATABASE flask_admin_test;
> # Connect to database "flask_admin_test":
> \c flask_admin_test;
> CREATE EXTENSION postgis;
> CREATE EXTENSION hstore;
```
If you\'re using Homebrew on MacOS, you might need this:```bash
# Install postgis and geos
brew install postgis
brew install geos# Set up a PostgreSQL user
createuser -s postgresql
brew services restart postgresql
```You can also run the tests on multiple environments using *tox*.
## 3rd Party Stuff
Flask-Admin is built with the help of
[Bootstrap](https://getbootstrap.com/),
[Select2](https://github.com/ivaynberg/select2) and
[Bootswatch](https://bootswatch.com/).If you want to localize your application, install the
[Flask-Babel](https://pypi.python.org/pypi/Flask-Babel) package.You can help improve Flask-Admin\'s translations through Crowdin: