Flask Dashboard de código abierto generado por AppSeed
sobre un diseño moderno. AdminKit es un paquete profesional que viene con cientos de componentes de interfaz de usuario, formularios, tablas, gráficos, páginas e íconos, creado sobre Bootstrap 5 .
Características
$ # Get the code
$ git clone https://github.com/app-generator/flask-adminkit.git
$ cd flask-adminkit
$
$ # Virtualenv modules installation (Unix based systems)
$ virtualenv env
$ source env/bin/activate
$
$ # Virtualenv modules installation (Windows based systems)
$ # virtualenv env
$ # .envScriptsactivate
$
$ # Install modules - SQLite Database
$ pip3 install -r requirements.txt
$
$ # OR with PostgreSQL connector
$ # pip install -r requirements-pgsql.txt
$
$ # Set the FLASK_APP environment variable
$ (Unix/Mac) export FLASK_APP=run.py
$ (Windows) set FLASK_APP=run.py
$ (Powershell) $env :FLASK_APP = " .run.py "
$
$ # Set up the DEBUG environment
$ # (Unix/Mac) export FLASK_ENV=development
$ # (Windows) set FLASK_ENV=development
$ # (Powershell) $env:FLASK_ENV = "development"
$
$ # Start the application (development mode)
$ # --host=0.0.0.0 - expose the app on all network interfaces (default 127.0.0.1)
$ # --port=5000 - specify the app port (default 5000)
$ flask run --host=0.0.0.0 --port=5000
$
$ # Access the dashboard in browser: http://127.0.0.1:5000/
Nota: Para utilizar la aplicación, acceda a la página de registro y cree un nuevo usuario. Después de la autenticación, la aplicación desbloqueará las páginas privadas.
El proyecto está codificado utilizando blueprints, patrón de fábrica de aplicaciones, perfil de configuración dual (desarrollo y producción) y una estructura intuitiva que se presenta a continuación:
Versión simplificada
< PROJECT ROOT >
|
| -- app/ # Implements app logic
| | -- base/ # Base Blueprint - handles the authentication
| | -- home/ # Home Blueprint - serve UI Kit pages
| |
| __init__.py # Initialize the app
|
| -- requirements.txt # Development modules - SQLite storage
| -- requirements-mysql.txt # Production modules - Mysql DMBS
| -- requirements-pqsql.txt # Production modules - PostgreSql DMBS
|
| -- .env # Inject Configuration via Environment
| -- config.py # Set up the app
| -- run.py # Start the app - WSGI gateway
|
| -- ************************************************************************
El flujo de arranque
run.py
carga el archivo .env
create_app
definido en app/ init .pyAplicación/Plano base
El modelo Base maneja la autenticación (rutas y formularios) y la gestión de activos. La estructura se presenta a continuación:
< PROJECT ROOT >
|
| -- app/
| | -- home/ # Home Blueprint - serve app pages (private area)
| | -- base/ # Base Blueprint - handles the authentication
| | -- static/
| | | -- < css, JS, images > # CSS files, Javascripts files
| |
| | -- templates/ # Templates used to render pages
| |
| | -- includes/ #
| | | -- navigation.html # Top menu component
| | | -- sidebar.html # Sidebar component
| | | -- footer.html # App Footer
| | | -- scripts.html # Scripts common to all pages
| |
| | -- layouts/ # Master pages
| | | -- base-fullscreen.html # Used by Authentication pages
| | | -- base.html # Used by common pages
| |
| | -- accounts/ # Authentication pages
| | -- login.html # Login page
| | -- register.html # Registration page
|
| -- requirements.txt # Development modules - SQLite storage
| -- requirements-mysql.txt # Production modules - Mysql DMBS
| -- requirements-pqsql.txt # Production modules - PostgreSql DMBS
|
| -- .env # Inject Configuration via Environment
| -- config.py # Set up the app
| -- run.py # Start the app - WSGI gateway
|
| -- ************************************************************************
Aplicación/Plano de inicio
El plano de inicio maneja las páginas del kit de interfaz de usuario para usuarios autenticados. Esta es la zona privada de la aplicación; la estructura se presenta a continuación:
< PROJECT ROOT >
|
| -- app/
| | -- base/ # Base Blueprint - handles the authentication
| | -- home/ # Home Blueprint - serve app pages (private area)
| |
| | -- templates/ # UI Kit Pages
| |
| | -- index.html # Default page
| | -- page-404.html # Error 404 - mandatory page
| | -- page-500.html # Error 500 - mandatory page
| | -- page-403.html # Error 403 - mandatory page
| | -- * .html # All other HTML pages
|
| -- requirements.txt # Development modules - SQLite storage
| -- requirements-mysql.txt # Production modules - Mysql DMBS
| -- requirements-pqsql.txt # Production modules - PostgreSql DMBS
|
| -- .env # Inject Configuration via Environment
| -- config.py # Set up the app
| -- run.py # Start the app - WSGI gateway
|
| -- ************************************************************************
La aplicación cuenta con una configuración básica para ejecutarse en Docker, Heroku, Gunicorn y Waitress.
La aplicación se puede ejecutar fácilmente en un contenedor acoplable. Los pasos:
Obtener el código
$ git clone https://github.com/app-generator/flask-adminkit.git
$ cd flask-adminkit
Inicie la aplicación en Docker
$ sudo docker-compose pull && sudo docker-compose build && sudo docker-compose up -d
Visite http://localhost:5005
en su navegador. La aplicación debería estar en funcionamiento.
Pasos para implementar en Heroku
heroku login
$ # Clone the source code:
$ git clone https://github.com/app-generator/flask-adminkit.git
$ cd flask-adminkit
$
$ # Check Heroku CLI is installed
$ heroku -v
heroku/7.25.0 win32-x64 node-v12.13.0 # <-- All good
$
$ # Check Heroku CLI is installed
$ heroku login
$ # this commaond will open a browser window - click the login button (in browser)
$
$ # Create the Heroku project
$ heroku create
$
$ # Trigger the LIVE deploy
$ git push heroku master
$
$ # Open the LIVE app in browser
$ heroku open
Gunicorn 'Green Unicorn' es un servidor HTTP Python WSGI para UNIX.
Instalar usando pip
$ pip install gunicorn
Inicie la aplicación usando el binario gunicorn
$ gunicorn --bind 0.0.0.0:8001 run:app
Serving on http://localhost:8001
Visite http://localhost:8001
en su navegador. La aplicación debería estar en funcionamiento.
Waitress (equivalente a Gunicorn para Windows) está destinado a ser un servidor WSGI Python puro de calidad de producción con un rendimiento muy aceptable. No tiene dependencias excepto las que se encuentran en la biblioteca estándar de Python.
Instalar usando pip
$ pip install waitress
Inicie la aplicación usando camarero-servicio
$ waitress-serve --port=8001 run:app
Serving on http://localhost:8001
Visite http://localhost:8001
en su navegador. La aplicación debería estar en funcionamiento.
Flask Dashboard AdminKit: proporcionado por AppSeed App Generator .