BlueXIII's Blog

热爱技术,持续学习

0%

flask-adminlte-handler

引言

继续接着上次的话题,上周整理出来的flask-rest脚手架,用于快速构建Restful API。虽然后端的代码量很少,但前端会变得很重,所以总体开发速度并不算太快,不太适合小型项目。
于是又整理了一套flask-adminlte脚手架,目标是用较传统的方式,减少整体的代码量,加快开发速度,以应对一些比较极端的需求。大体估算,开发时间可以做到SpringBoot全家桶的30%左右。

源码

http://git.si-tech.com.cn/guolei/flask-adminlte-handler
https://github.com/xiiiblue/flask-rest-sample

简介

flask-adminlte-handler是一个Python环境下的WEB后台管理系统脚手架,目标是用极少量的代码,快速构建小型WEB应用。请勿在大中型项目中进行尝试。

  1. 使用较传统的重后端+轻前端的方式,降低总体代码量
  2. Web框架使用Flask,默认Jinja模版
  3. ORM框架使用Peewee
  4. 前端套用基于BootStrap的AdminLTE模板

系统截图

  • 登录页

  • 主页

  • 编辑界面

  • 查询界面

第三方依赖

  • peewee
  • pymysql
  • flask
  • flask-script
  • flask-wtf
  • flask-login

环境配置

venv虚拟环境安装配置

1
2
3
sudo pip3 install virtualenv
virtualenv venv
. venv/bin/activate

第三方依赖安装

1
2
pip3 install -r requirements.txt

系统参数配置

  1. 编辑config.py, 修改SECRET_KEY及MySQL数据库相关参数

    1
    2
    3
    4
    5
    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'
  2. 编辑log-app.conf,修改日志路径

    1
    args=('/path/to/log/flask-rest-sample.log','a','utf8')

    数据库初始化

  3. 自动建表
    直接运行python3 models.py

  4. 插入管理员用户(默认admin/admin)

    1
    2
    3
    INSERT INTO `user` (`id`, `username`, `password`, `fullname`, `email`, `phone`, `status`)
    VALUES
    (1, 'admin', 'pbkdf2:sha1:1000$Km1vdx3W$9aa07d3b79ab88aae53e45d26d0d4d4e097a6cd3', '管理员', 'admin@admin.com', '18612341234', 1);

    启动应用

    1
    2
    3
    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 系统参数及日志配置

相关学习文档