更多Dash应用开发干货知识、案例,欢迎关注"玩转Dash"微信公众号👇

1 简介
大家好我是费老师,随着Python
生态的蓬勃发展,基于Python
相关技术栈,完成网页应用 、桌面应用 等常见形式的全栈应用开发越来越简单高效✨。
本文要介绍的开源Python
项目magic-dash
,就提供了一系列开箱即用 、功能完善 的常用Python
全栈应用项目模板,在这些项目模板中,后端计算 、页面内容 、交互功能 等涉及全栈应用构建的方方面面,均基于Python
实现,在这些通用应用模板基础上进行二次开发,实现各种自定义应用功能,非常的方便快捷。
下面我们就一起来学习如何基于magic-dash
快速构建Python
全栈应用项目:
2 magic-dash: Python全栈应用搭建神器
2.1 安装magic-dash
magic-dash
的安装非常简单,终端执行下列命令,即可在当前Python
环境下完成最新版本 的安装(支持从3.8
到3.13
各版本的Python
):
bash
pip install magic-dash -U
查看magic-dash
版本(本文写作时magic-dash
最新版本为0.4.1
):
2.2 magic-dash的基础使用
magic-dash
的核心用法是作为命令行工具 ,进行不同类型内置Python
应用模板项目的创建🔨,执行下面的命令可以查看目前magic-dash
中内置的全部应用项目模板:
bash
magic-dash list

以其中功能最丰富的多页面+用户登录应用 模板magic-dash-pro
为例,终端切换到你觉得合适的路径下,执行下列命令,按照提示,即可快速创建基于magic-dash-pro
模板的新项目:
bash
magic-dash create --name magic-dash-pro

在你熟悉的ide
中将上面生成的项目目录作为项目打开后,终端执行下面的命令完成项目对应依赖的安装、数据库初始化操作(默认配置参数下使用sqlite
数据库):
bash
pip install -r requirements.txt
python -m models.init_db
完成上面的准备工作后,在项目根目录终端执行python app.py
即可快速启动开发调试模式 下的应用,本机浏览器访问默认发布地址http://127.0.0.1:8050
即可:
使用初始化的管理员账号即可登入应用:
- 用户名:
admin
- 密码:
admin123

magic-dash-pro
中自带了用户登录 、用户管理 、权限分组 等必要的系统功能,可通过管理员操作界面+项目配置参数的形式,进行常见用户管理操作:
作为基于Python
的全栈应用项目模板,magic-dash-pro
所生成的项目,仅通过修改配置参数,即可控制大量的系统功能及设定,包括但不限于:
- 浏览器版本自动检测
- 用户重复登录检测
- 全屏水印
- 数据库类型切换(
sqlite
/postgresql
/mysql
) - 侧边菜单宽度控制
- 登录页左侧内容形式(图片/视频)
- 多页面呈现形式(单页面/多标签页)
- 用户权限组定义
- 多页面访问权限控制
- ... ...
且作为应用开发模板,magic-dash-pro
中也自带了大量不同类型的示范子页面,目前主要有:
- 常规静态页面
- 带交互功能页面
- 多级子页面
- 独立渲染页面(硬编码地址/通配规则地址)
- url参数提取页面

可根据不同需要,参照各示例页面进行二次开发,快速添加自己的功能页面。
且对于magic-dash-pro
模板,从0.4.0
版本开始,针对具有管理员权限的用户,新增了登录日志
管理页面,可直接进行系统自带用户登录日志记录的查看 、管理 、导出:
除了上面介绍的内置模板magic-dash-pro
以外,如果你:
- 需要不带用户登录 的通用多页面应用,可以使用内置的
magic-dash
模板 - 需要搭建单页面工具型 小型应用,可以使用内置的
simple-tool
模板
magic-dash
内置的各种应用模板,整体基于Python
生态中顶级的开源应用开发框架Dash
,在世界范围内非常流行,相关软件生态 也十分丰富,日常开发中所需的各种常见页面功能 ,都可以找到相应的组件库 直接调用,快速开发应用页面及后台逻辑,是纯Python
开发各种应用的绝佳选择。
更多有关magic-dash
的说明,以及各内置模板使用文档,可在magic-dash
项目仓库中查看更多:
Github
仓库:https://github.com/CNFeffery/magic-dashGitee
镜像同步仓库:https://gitee.com/cnfeffery/magic-dash
以上就是本文的全部内容,欢迎在评论区与我们进行讨论~