基于 Flask-Admin 与 AdminLTE 构建通用后台管理系统

news2025/7/6 22:43:53

Flask-Admin 是什么?

Flask-Admin 官网文档中给出了其功能定位:

Why Flask-Admin? In a world of micro-services and APIs, Flask-Admin solves the boring problem of building an admin interface on top of an existing data model. With little effort, it lets you manage your web service’s data through a user-friendly interface.

在实际使用中发现,Flask-Admin 具有如下主要特点:

  • 快速实现单表的增删改查,而无需过多考虑前端代码
  • 快速组织并展示功能菜单
  • 利用 Flask 丰富的功能插件,实现后台系统基本功能

不足之处在于:

  • 前端采用 jQuery + Bootstrap,技术相对落后
  • 系统菜单位于顶部,不符合一般的系统菜单布局
  • 需要自行集成登陆、用户角色、用户账户管理等功能

如果可以解决前端展示问题,优化为更常见的管理系统界面,并充分利用 Flask-Admin的快速开发、快速组织菜单的优势,我们就可以实现一个可快速构建的后台管理系统。幸好,我们有 adminLTE。

AdminLTE 是什么?

AdminLTE 是一个完全响应的管理系统模板。

主要特点:

  • 界面美观
  • 包含丰富的组件、模版
  • 自适应多种屏幕,兼容PC和移动端
  • 可用于快速搭建响应式的HTML5网站

AdminLTE 2.0版本同样基于 jQuery + Bootstrap(3.0 版本已支持Vue、ReactJS 等主流JS框架),这让结合 Flask-Admin 与 AdminLTE 成为可能。

一个结合后的系统示例

通过结合 Flask-Admin 与 AdminLTE,现在可以在 Python 世界中构建出一个通用的后台管理系统,并且很方便地引入 Flask 插件、AdminLTE的前端框架组件,及整合基于 Python 的第三方库或工具。

基于如上理念,现在构建并开源了 Admin-Express 后台管理系统 。
系统截图

主要组件

除以上框架外,该系统还集成了如下组件。

Flask 相关插件:

  • Flask-SQLAlchemy,适配 Flask应用的ORM框架,即SQLAlchemy。
  • Flask-Migrate,支持命令行方式进行数据库自动升降级迁移的Flask扩展工具。
  • Flask-Login,快速实现用户登陆及session管理功能的Flask插件。
  • flask-restx,快速开发RESTful接口的Flask插件。

图表功能:

  • Pyecharts,整合echarts.js 图表功能的 Python可视化工具,可与 Flask进行集成。

遗留问题

1、复杂页面仍然是一个不小的挑战。

Flask-Admin的单表增删改查模式比较固定,如果希望调整页面布局,需要深入了解 jinja 模版语言及Flask-Admin的源码。并且,对于复杂页面,需要进行更多的嵌套和开发,这实际上会产生更高的学习和开发成本。

2、只适用于 非前后端分离 的场景

如果是前后端分离的情况,建议直接采用 AdminLTE 3.0以上版本,并通过 api方式调用后台 Flask服务。但在这种情况下,开发代码量可能比较高,建议重新考虑通用后台管理系统的整体架构和框架选型。

最后,任何工具都只能解决一个细分领域的问题,都有其局限性。打磨完善的前提是“用”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/7019.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SAP 公司代码全局参数设置及其意义

在SAP中配置公司时,会配置公司的全局参数,但这些参数具体的意思是什么估计很多同学都搞不懂,我也找了下资料,贴出来供大家参考。 设置参数路径:IMG→财务会计→财务会计全局设置→公司代码的全球参数→输入全局参数 账…

教你几个手机识别图片中的文字小技巧

平时我们在工作,有时候会拿到需要录入的纸质文件,如果我们使用双手逐一对照录入的话,就太浪费时间了。其实还有一个更简单的方法,就是将需要录入的文件拍摄下来,借助工具将图片内容转写为文字出来,再将其复…

Python Flask框架-开发简单博客-认证蓝图

作者:Eason_LYC 悲观者预言失败,十言九中。 乐观者创造奇迹,一次即可。 一个人的价值,在于他所拥有的。可以不学无术,但不能一无所有! 技术领域:WEB安全、网络攻防 关注WEB安全、网络攻防。我的…

最新定制的安卓项目及设计报告——仿番茄小说APP

已录演示视频,想看演示视频的可以私我 《移动应用开发实践》实践报告 APP名称: 番茄免费小说 要求: 格式:宋体,小四号字;首行缩进;行距:1.5倍。 每人独立完成Android App的设计…

三步学会如何构建平衡二叉树(简单好理解)

何为平衡二叉树? 首先回顾一下,什么是平衡二叉树(亦被称为AVL树,Adelson-Velskii and Landis)。平衡二叉树主要具有以下三个特点: 1. 平衡二叉树首先要符合搜索二叉树的特点:即左子树的值比根节点小&…

排序算法之归并排序

目录 归并排序递归实现 思想 图解 代码 归并排序的非递归版本 基本思想: 代码 归并排序递归实现 思想 最主要的相当于二叉树遍历中的后序遍历。 ①将数组分割成多个小区间(当只有一个元素或者并不存在的时候就不用再分割了) ②对每一…

某工控图片上传服务 CPU 爆高分析

一:背景 1.讲故事 今天给大家带来一个入门级的 CPU 爆高案例,前段时间有位朋友找到我,说他的程序间歇性的 CPU 爆高,不知道是啥情况,让我帮忙看下,既然找到我,那就用 WinDbg 看一下。 二&…

Linux进程概念和控制(必备知识)

文章目录1、冯诺依曼体系结构2、操作系统3、进程<1>进程的创建<2>进程查看<3>进程状态<4>进程优先级<5> 进程地址空间4、环境变量5、进程控制<1>进程终止<2>进程等待<3>进程替换1、冯诺依曼体系结构 我们常见的计算机&#x…

软考 - 软件工程

软件过程基本概述 基本要素 方法工具过程 软件过程模型 能力成熟度模型CMM 能力成熟度模型CMMI 统一过程UP模型 针对大型项目 三大特别 用例和风险驱动以架构为中心迭代并且增量 四个阶段 起始&#xff1a;确认需求和风险评估精化&#xff1a;核心架构设计构建&#xff1a;构…

Linux内核开发 | Linux内核目录结构分析(5.4.32)

文章目录1. arch2. block3. certs4. crypto5. Documentation6. drivers7. fs8. include9. init10. ipc11. kernel12. lib13. mm14. net15. samples16. scripts17. security18. sound19. tools20. usr21. virt本文以Linux主线5.4.32内核版本进行分析。1. arch 该目录下包含了li…

【ROS】机械人开发--ROS工作空间与功能包

机械人开发--ROS工作空间与功能包一、ROS工作空间1.1 概念1.2 创建工作空间1.3 编译工作空间1.4 设置环境变量1.5 添加环境变量二、功能包2.1 概念2.2 功能包的内容2.3 创建功能包三、CMakeLists.txt文件四、package.xml文件一、ROS工作空间 1.1 概念 工作空间&#xff08;wo…

以“新IT”助“数智融合”,联想推开“智能化转型”下半场的大门

作者 | 曾响铃 文 | 响铃说 近年来&#xff0c;我国对数字化的重视达到前所未有的高度&#xff0c;从“十四五”规划纲要首次将数字经济单独列为一篇&#xff1b;到二十大报告中指出&#xff1a;“坚持把发展经济的着力点放在实体经济上”、“促进数字经济和实体经济深度融合…

SpringMVC学习篇(五)

SpringMVC之json数据传递 1.1 准备工作 1.1.1 导入lombok依赖(方便写实体类) <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version></dependency>1.1.2 导入mvc js…

mysql经典案例带解析(你没见过的全新版本)55题

首先给出初始表格 表格创建命令 create table emp(id int primary key auto_increment,name varchar(20),job varchar(20),manager int,hiredate date,sal double(8,2),comm double(6,2),dept_id int)charsetutf8;create table dept(id int primary key auto_increment,nam…

AcrelEMS-BP生物制药工厂能效管理系统

安科瑞 华楠 聚焦全厂能源采集、监控、分析、调度,降本提效,实现企业双碳目标;致力于全域化设备监视、巡检、故障报警、工单管理,运维优化,提升设备使用效率。 综合自动化系统 110kV及以下变电站综合自动化系统实现遥测、遥信、遥控、事故追忆、故障录波、安全防护、上传调度 …

搭建接口平台YApi详解(含搭建node环境)

公司之前使用的doclever 感觉不太好用&#xff0c;打算私有化部署YApi 步骤 准备使用yapi的可视化部署&#xff0c;需要有node环境 安装node环境 测试一下有没有node环境 如下就是有 [root192 sbin]# node -v v14.17.0 [root192 sbin]# npm -v 6.14.13没有就创建 cd /us…

webpack5 打包环境抽离分环境基本配置

两种开发模式 开发模式&#xff1a;代码能编译自动化运行生产模式&#xff1a;代码编译优化输出Webpack 基本功能 开发模式&#xff1a;可以编译 ES Module 语法生产模式&#xff1a;可以编译 ES Module 语法&#xff0c;压缩 js 代码Webpack 配置文件5 个核心概念 entryoutput…

FL Studio21最新演示测试版本下载FL水果V21

FL Studio是市场上最受欢迎的音乐制作软件之一。它被世界各地的许多专业制作人和艺术家使用。FL Studio音乐软件的每日下载量超过40&#xff0c;000次&#xff0c;其增长是不断的&#xff0c;而且没有迹象表明很快就会放缓。随着新的 FL 产品版本在 Windows 和 Mac 上不断发布&…

25.gateway的Filter 过滤器工厂(springcloud)

1 概述 gateway 里面的过滤器和 Servlet 里面的过滤器&#xff0c;功能差不多&#xff0c;路由过滤器可以用于修改进入Http 请求和返回 Http 响应2 分类 2.1 按生命周期分两种 pre 在业务逻辑之前 post 在业务逻辑之后2.2 按种类分也是两种 GatewayFilter 需要配置某个路由&…

阿里同步神器Canal原理+安装+快速使用

文章目录前言Canal简介MySQL主备复制原理canal 工作原理1、MySQL配置1.1 修改MySQL配置支持binloglog-binmysql-binbinlog-formatROW1.2 创建canal用户1.3 重启mysql服务1.4 基本的查看binlog命令2、下载安装canal2.1 解压canal2.2 配置与mysql信息2.3 启动canal3. 快速使用3.1…