引言
繼續(xù)接著上次的話題,上周整理出來的flask-rest腳手架精偿,用于快速構(gòu)建Restful API弧圆。雖然后端的代碼量很少赋兵,但前端會變得很重,所以總體開發(fā)速度并不算太快搔预,不太適合小型項目霹期。
于是又整理了一套flask-adminlte腳手架,目標是用較傳統(tǒng)的方式拯田,減少整體的代碼量历造,加快開發(fā)速度,以應(yīng)對一些比較極端的需求船庇。大體估算吭产,開發(fā)時間可以做到SpringBoot全家桶的30%左右。
源碼
https://github.com/xiiiblue/flask-rest-sample
簡介
flask-adminlte-handler是一個Python環(huán)境下的WEB后臺管理系統(tǒng)腳手架鸭轮,目標是用極少量的代碼臣淤,快速構(gòu)建小型WEB應(yīng)用。請勿在大中型項目中進行嘗試窃爷。
- 使用較傳統(tǒng)的重后端+輕前端的方式邑蒋,降低總體代碼量
- Web框架使用Flask,默認Jinja模版
- ORM框架使用Peewee
- 前端套用基于BootStrap的AdminLTE模板
系統(tǒng)截圖
-
登錄頁
-
主頁
-
編輯界面
-
查詢界面
第三方依賴
- peewee
- pymysql
- flask
- flask-script
- flask-wtf
- flask-login
環(huán)境配置
venv虛擬環(huán)境安裝配置
sudo pip3 install virtualenv
virtualenv venv
. venv/bin/activate
第三方依賴安裝
pip3 install -r requirements.txt
系統(tǒng)參數(shù)配置
- 編輯
config.py
按厘, 修改SECRET_KEY及MySQL數(shù)據(jù)庫相關(guān)參數(shù)
SECRET_KEY = os.environ.get('SECRET_KEY') or 'your-secret'
DB_HOST = '127.0.0.1'
DB_USER = 'foobar'
DB_PASSWD = 'foobar'
DB_DATABASE = 'foobar'
- 編輯log-app.conf寺董,修改日志路徑
args=('/path/to/log/flask-rest-sample.log','a','utf8')
數(shù)據(jù)庫初始化
自動建表
直接運行python3 models.py
插入管理員用戶(默認admin/admin)
INSERT INTO `user` (`id`, `username`, `password`, `fullname`, `email`, `phone`, `status`)
VALUES
(1, 'admin', 'pbkdf2:sha1:1000$Km1vdx3W$9aa07d3b79ab88aae53e45d26d0d4d4e097a6cd3', '管理員', 'admin@admin.com', '18612341234', 1);
啟動應(yīng)用
nohup ./manage.py runserver 2>&1 &
或
./run_app_dev.py (僅限測試)
項目目錄結(jié)構(gòu)
- /app/auth 用戶認證相關(guān)代碼
- /app/main 主要功能點相關(guān)代碼
- /app/static JS、CSS等靜態(tài)文件
- /app/template 頁面模版
- /app/models.py Peewee模型
- /app/utils.py 工具模塊
- /conf 系統(tǒng)參數(shù)及日志配置