A simple and powerful admin for Piccolo models, using ASGI.
Project description
Piccolo Admin
Piccolo Admin provides a simple yet powerful admin interface on top of Piccolo tables - allowing you to easily add / edit / filter your data.
It was created at a design agency to serve the needs of customers who demand a high quality, beautiful admin interface for their websites. Our goal is to create a world class admin interface, akin to Wordpress or Django.
It's built using the latest technologies, with Vue JS on the front end, and a modern REST backend.
Try it
Try it online (username: piccolo, password: piccolo123).
Local Demo
To run a demo locally, using Python 3.7 or above:
pip install piccolo_admin
admin_demo
And then just launch localhost:8000
in your browser.
To see what happens behind the scenes, see piccolo_admin/example.py
.
In a few lines of code we are able to:
- Define our models
- Setup a database
- Create a REST API
- Setup a web server and admin interface
ASGI
Since the admin is an ASGI app, you can either run it standalone like in the demo, or integrate it with a larger ASGI app such as FastAPI and Starlette.
For example, using Starlette routes:
from piccolo_admin.endpoints import create_admin
from starlette.routing import Router, Route
import uvicorn
from my_project.tables import Director, Movie
# The `allowed_hosts` argument is required when running under HTTPS. It's used
# for additional CSRF defence.
admin = create_admin([Director, Movie], allowed_hosts=['my_site.com'])
router = Router([
Route(path="/", endpoint=Hello),
Mount(path="/admin/", app=admin),
])
if __name__ == '__main__':
uvicorn.run(router)
Full docs
Full documentation is available on Read the docs.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for piccolo_admin-0.22.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9592a4ad240edc89d85e989a7de4212add0e13beae9df4a93354b4afa82a9483 |
|
MD5 | 535b9b76c34b7c7dc0a659bd4596c3f1 |
|
BLAKE2b-256 | 006f1bdb2351af798a9f914ef4ba8da40494a62f3b10342819ec0a91d74403c1 |