현대적인 디자인의 AppSeed
op top으로 생성된 오픈 소스 Flask 대시보드입니다 . AdminKit은 수백 개의 UI 구성 요소, 양식, 표, 차트, 페이지 및 아이콘이 포함된 전문 패키지로 Bootstrap 5를 기반으로 구축되었습니다 .
특징
$ # 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/
참고: 앱을 사용하려면 등록 페이지에 접속하여 새 사용자를 생성하세요. 인증 후 앱은 비공개 페이지의 잠금을 해제합니다.
프로젝트는 청사진, 앱 팩토리 패턴, 이중 구성 프로필(개발 및 생산) 및 다음과 같은 직관적인 구조를 사용하여 코딩되었습니다.
단순화된 버전
< 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
|
| -- ************************************************************************
부트스트랩 흐름
run.py
.env
파일을 로드합니다.create_app
호출합니다.앱/기본 청사진
기본 청사진은 인증(경로 및 양식)과 자산 관리를 처리합니다. 구조는 아래와 같습니다.
< 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
|
| -- ************************************************************************
앱/홈 청사진
홈 블루프린트는 인증된 사용자에 대한 UI 키트 페이지를 처리합니다. 이는 앱의 비공개 영역입니다. 구조는 아래와 같습니다.
< 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
|
| -- ************************************************************************
앱은 Docker, Heroku, Gunicorn, Waitress에서 실행될 수 있도록 기본 구성을 제공합니다.
애플리케이션은 도커 컨테이너에서 쉽게 실행할 수 있습니다. 단계:
코드 받기
$ git clone https://github.com/app-generator/flask-adminkit.git
$ cd flask-adminkit
Docker에서 앱 시작
$ sudo docker-compose pull && sudo docker-compose build && sudo docker-compose up -d
브라우저에서 http://localhost:5005
방문하세요. 앱이 실행 중이어야 합니다.
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'은 UNIX용 Python WSGI HTTP 서버입니다.
pip를 사용하여 설치
$ pip install gunicorn
gunicorn 바이너리를 사용하여 앱 시작
$ gunicorn --bind 0.0.0.0:8001 run:app
Serving on http://localhost:8001
브라우저에서 http://localhost:8001
방문하세요. 앱이 실행 중이어야 합니다.
웨이트리스(Windows용 Gunicorn과 동일)는 매우 수용 가능한 성능을 갖춘 프로덕션 품질의 순수 Python WSGI 서버를 의미합니다. Python 표준 라이브러리에 있는 것 외에는 종속성이 없습니다.
pip를 사용하여 설치
$ pip install waitress
waitress-serve를 사용하여 앱 시작
$ waitress-serve --port=8001 run:app
Serving on http://localhost:8001
브라우저에서 http://localhost:8001
방문하세요. 앱이 실행 중이어야 합니다.
Flask 대시보드 AdminKit - AppSeed 앱 생성기 에서 제공됩니다.