引言
继续接着上次的话题,上周整理出来的flask-rest脚手架,用于快速构建Restful API。虽然后端的代码量很少,但前端会变得很重,所以总体开发速度并不算太快,不太适合小型项目。
于是又整理了一套flask-adminlte脚手架,目标是用较传统的方式,减少整体的代码量,加快开发速度,以应对一些比较极端的需求。大体估算,开发时间可以做到SpringBoot全家桶的30%左右。
源码
https://github.com/xiiiblue/flask-rest-sample
简介
flask-adminlte-handler是一个Python环境下的WEB后台管理系统脚手架,目标是用极少量的代码,快速构建小型WEB应用。请勿在大中型项目中进行尝试。
- 使用较传统的重后端+轻前端的方式,降低总体代码量
- Web框架使用Flask,默认Jinja模版
- ORM框架使用Peewee
- 前端套用基于BootStrap的AdminLTE模板
系统截图
-
登录页
-
主页
-
编辑界面
-
查询界面
第三方依赖
- peewee
- pymysql
- flask
- flask-script
- flask-wtf
- flask-login
环境配置
venv虚拟环境安装配置
sudo pip3 install virtualenv
virtualenv venv
. venv/bin/activate
第三方依赖安装
pip3 install -r requirements.txt
系统参数配置
- 编辑
config.py
, 修改SECRET_KEY及MySQL数据库相关参数
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')
数据库初始化
自动建表
直接运行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);
启动应用
nohup ./manage.py runserver 2>&1 &
或
./run_app_dev.py (仅限测试)
项目目录结构
- /app/auth 用户认证相关代码
- /app/main 主要功能点相关代码
- /app/static JS、CSS等静态文件
- /app/template 页面模版
- /app/models.py Peewee模型
- /app/utils.py 工具模块
- /conf 系统参数及日志配置