美文网首页Python
flask-adminlte后台管理系统脚手架

flask-adminlte后台管理系统脚手架

作者: bluexiii | 来源:发表于2017-04-15 11:05 被阅读1344次

    引言

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

    源码

    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虚拟环境安装配置

    sudo pip3 install virtualenv
    virtualenv venv
    . venv/bin/activate
    

    第三方依赖安装

    pip3 install -r requirements.txt
    
    

    系统参数配置

    1. 编辑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'
    
    1. 编辑log-app.conf,修改日志路径
    args=('/path/to/log/flask-rest-sample.log','a','utf8')
    

    数据库初始化

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

    2. 插入管理员用户(默认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 系统参数及日志配置

    相关学习文档

    相关文章

      网友评论

      • 安东尼卡:在配件界面提交了一条数据后,notifylist.html就打不开了。
      • 06e9602b45fd:你好,我按照步骤,运行后发现有这个报错,不知道怎么解决,麻烦告知一下
        (venv) [root@localhost app]# python3 models.py
        Traceback (most recent call last):
        File "models.py", line 7, in <module>
        from app import login_manager
        ImportError: No module named 'app'
        zfshao:把app中的models.py copy到上级目录再运行试试

      本文标题:flask-adminlte后台管理系统脚手架

      本文链接:https://www.haomeiwen.com/subject/hcenattx.html