开箱即用!推荐一款Python开源项目:DashGo,支持定制改造为测试平台!
大家好,我是狂师。
市面上的开源后台管理系统项目层出不穷,对应所使用到的技术栈也不尽相同。
今天给大家推荐一款开源后台管理系统: DashGo,不仅部署起来非常的简单,而且它是基于Python技术栈实现的,使得基于它进行二次开发及功能拓展非常的友好高效。
特别是如果你想基于Python改造开发一款测试平台,或许这个项目可以帮助到你。
1、DashGo介绍
DashGo谐音大西瓜,这是一个开箱即用的低代码WEB框架,基于Plotly Dash框架和Fac开源组件库开发,只需要Python语言实现全栈的后台管理系统开发。
只需要一个Python文件,就可以将应用嵌入系统,无需额外操作,极易使用。
主要功能:
- 多页面管理
- 组件和函数级别的细粒度权限管理
- 自带用户、角色和团队的权限的管理
- i18n国际化组件
- 密码和OTP登录
2、项目结构
├─assets # 静态资源目录
│ ├─imgs # 图片资源
│ └─js # js文件资源(dash框架预加载js文件、浏览器回调js等)
├─common # Python共享功能库
│ └─utilities # Python工具类
├─config # 项目配置目录
├─dash_callback # Dash回调库
│ ├─application
│ │ ├─access_
│ │ ├─dashboard_
│ │ └─person_
│ └─pages
├─dash_components # Dash自定义组件
├─dash_view # Dash视图
│ ├─application # 应用视图,以“_”结尾的为内置应用
│ │ ├─access_
│ │ ├─dashboard_
│ │ ├─example_app # 应用例子
│ │ └─person_
│ ├─framework
│ └─pages
├─database # 数据库
│ └─sql_db # 关系型数据库配置
│ ├─dao # 数据库orm抽象
│ └─entity # 数据库表实体
└─translations # 国际化
└─topic_locales
DashGo采用前沿的Python技术栈组合:
1、前端:基于Dash + fac/fuc组件库
- Dash是Python生态最强大的Web应用框架
- fac提供丰富的UI组件(表格、图表、表单等)
2、后端:FastAPI + SQLAlchemy + Redis
- FastAPI提供高性能API服务
- SQLAlchemy作为ORM工具
- Redis处理缓存和会话1
这种架构既保证了开发效率,又能承载企业级应用的性能需求。
3、如何使用
1、拉取代码
# 从Github拉取源码
git clone https://github.com/luojiaaoo/Plotly-DashGo.git
# 从Gitee拉取源码
git clone https://gitee.com/luojiaaoo/DashGo.git
2、安装依赖
windows用户根据requirements_win.txt,linux用户根据requirements_linux.txt 安装Python依赖。
安装依赖命令:
python -m pip install -r requirements_xxx.txt
3、启动应用
进入到src目录,执行python app.py,即可启动成功,根据日志提示中的URL进行访问。
默认账号:admin、密码:admin123
默认启动为sqlite数据库,如需用于生产,请根据config/dashgo.ini调整相关Mysql数据库配置。
4、主要界面效果
1、登录页面

2、首页效果

3、监控页

4、角色管理页

最后
总之,DashGo 作为一款开源Python 后台管理系统,以其开箱即用的便捷性、丰富的功能模块、基于 Python 的高效性,为开发者们提供了一个强大的后台管理系统开发平台。无论是企业级项目还是小型项目,DashGo 都能发挥其优势。
如果你厌倦了复杂的技术栈切换,渴望一个简洁高效的开发体验,DashGo无疑是值得尝试的Python开源项目!
开箱即用!推荐一款Python开源项目:DashGo,支持定制改造为测试平台!的更多相关文章
- 推荐一款Python开源库,技术人必备的造数据神器!
1. 背景 在软件需求.开发.测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,要么需要手动制造一些数据.由于现在的业务系统数据多种多样,千变万化.在手动制造数据的 ...
- GitHub Python项目推荐|瓦力Devops开源项目代码部署平台持续部署
GitHub Python项目推荐|walle - 瓦力 Devops开源项目代码部署平台 项目热度 标星(star):8418 (很不错的实用项目,大神作品,建议关注) 标星趋势 关注(watch) ...
- 10大Python开源项目推荐(Github平均star2135)
翻译 | suisui 来源 | 人工智能头条(AI_Thinker) 继续假日充电系列~本文是 Mybridge 挑选的 10 个 Python 开源项目,Github 平均star 2135,希望 ...
- Github上的python开源项目
Python开源项目,期待大家和我们一起共同维护 github排名榜单 https://github.com/trending github搜索榜单:https://github.com/search ...
- python实战===2017年30个惊艳的Python开源项目 (转)
本文转自:http://www.sohu.com/a/216723120_115128 摘要:本文来自Mybridge,介绍了过去一年里30个惊艳的Python开源项目.点击每一个都可以在GitHub ...
- 阿里巴巴的26款Java开源项目
阿里巴巴的26款Java开源项目 开源展示了人类共同协作,成果分享的魅力.没有任何一家网络公司可以不使用开源技术,仅靠自身技术发展起来.“取之于开源,用之于开源,才能促进开源的良性发展”,阿里巴巴各个 ...
- 教你阅读Python开源项目代码
为什么要阅读开源代码 阅读 Python 开源项目代码主要有如下三个原因: 在工作过程中遇到一些问题 Google 和 StackOverFlow 等网站找不到解决办法,只能去翻源码. 对某些项目或者 ...
- 机器学习 Top 20 Python 开源项目
转自:http://mp.weixin.qq.com/s?__biz=MzA4MjEyNTA5Mw==&mid=2652565022&idx=1&sn=9aa035097120 ...
- 利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库)
利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库),完成预期的任务,大致有下面几步: 1.代码提交到github平台 2.创建.podspec 3. ...
- 推荐一款Python神器,5 行 Python 代码 实现一键批量扣图
今天给大家分享一款Python装逼实用神器. 在日常生活或者工作中,经常会遇到想将某张照片中的人物抠出来,然后拼接到其他图片上去.专业点的人可以使用 PhotoShop 的"魔棒" ...
随机推荐
- python包学习:-了解
本节先做一些了解. numpy 参考:NumPy使用 NumPy 教程 NumPy是Python中科学计算的基础包.它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于 ...
- MySQL插入修改和删除
原文链接:https://blog.liuzijian.com/post/36d9bcaa-2ba7-26ca-6f97-b8ef7a058e95.html 插入 支持一次性插入多行,支持子查询 IN ...
- google gtest框架入门使用案例
通过本文可以收获:google gtest急速入门.google gtest资源网站. google gtest是什么 google gtest是谷歌开源的c++单元测试框架,非常的好用. 起码个人感 ...
- Win7下的文件权限
平常编写的程序总会有配置功能,然后配置肯定是以文本文件的方式存放在目录下.平常自己电脑测试没问题 发到客户那里总会有各种乱七八糟的状况 反映配置无法保存.先前早知道win7有管理员权限的机制,然后还刻 ...
- P10353 [PA2024] Grupa permutacji 题解
神秘!在这些排列生成的置换群 \(G\) 里,若 \(\exists \pi \in G\) 使得 \(\pi_i=k,\pi_j=l\),则所有这些 \((k,l)\) 被同样数量的 \(\pi\i ...
- NOI春季测试游记
Day -20 本来以为不能报名,但听说初中生可以报名,遂报名. Day -20~-2 刷一些题,并学了大量新知识如DP. Day n(-15≤n≤-5) 在公众号的名单上看到我的名字. 同校还有人参 ...
- 多节点oceanbase 集群部署
安装前准备 硬件要求 CPU最少2核 磁盘最少19G 文件系统EXT4 戓 XFS 关闭透明大页 echo never > /sys/kernel/mm/redhat_transparent_h ...
- CF935D Fafa and Ancient Alphabet 题解
讲一个很暴力的方法(为描述方便,下文 \(a\) 数组代表 \(s1\),\(b\) 数组代表 \(s2\)). 发现假如当前 \(a_i\ne b_i\),就不需要再向下枚举了,于是拥有了分类讨论的 ...
- OpenLayers 4326地图 根据距离设置地图分辨率
问题:给一个距离,如何确定4326地图缩放等级或者分辨率使地图视口范围为这个距离 我本来打算计算从地图视口左上角到右下角的距离来计算地图缩放的,然后发现不好算,我也不会算,于是就计算水平方向距离的缩放 ...
- OpenLayers change 事件获取当前值
这里有个 change:resolution 事件 但是事件的内容没有value,只有oldValue Zc {type: 'change:resolution', target: F, key: ' ...