لوحة معلومات Flask مفتوحة المصدر تم إنشاؤها بواسطة AppSeed
ذات تصميم حديث. AdminKit عبارة عن حزمة احترافية تأتي مع مئات من مكونات واجهة المستخدم والنماذج والجداول والمخططات والصفحات والأيقونات - مبنية على 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
المحددة في app/ init .pyمخطط التطبيق/ القاعدة
يتعامل المخطط الأساسي مع المصادقة (المسارات والنماذج) وإدارة الأصول. يتم عرض الهيكل أدناه:
< 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
|
| -- ************************************************************************
التطبيق / مخطط المنزل
يتعامل مخطط الصفحة الرئيسية مع صفحات مجموعة أدوات واجهة المستخدم للمستخدمين المعتمدين. هذه هي المنطقة الخاصة بالتطبيق - الهيكل موضح أدناه:
< 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' هو خادم Python WSGI HTTP لنظام UNIX.
التثبيت باستخدام النقطة
$ pip install gunicorn
ابدأ تشغيل التطبيق باستخدام gunicorn ثنائي
$ gunicorn --bind 0.0.0.0:8001 run:app
Serving on http://localhost:8001
تفضل بزيارة http://localhost:8001
في متصفحك. يجب أن يكون التطبيق قيد التشغيل.
المقصود من Waitress (ما يعادل Gunicorn لنظام التشغيل Windows) هو أن يكون خادم Python WSGI عالي الجودة وذو أداء مقبول للغاية. ليس لديها أي تبعيات باستثناء تلك الموجودة في مكتبة بايثون القياسية.
التثبيت باستخدام النقطة
$ pip install waitress
ابدأ تشغيل التطبيق باستخدام خدمة النادلة
$ waitress-serve --port=8001 run:app
Serving on http://localhost:8001
تفضل بزيارة http://localhost:8001
في متصفحك. يجب أن يكون التطبيق قيد التشغيل.
Flask Dashboard AdminKit - مقدمة من AppSeed App Generator .