Python全栈应用搭建神器magic-dash 0.4新版本介绍
更多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):
pip install magic-dash -U
查看magic-dash版本(本文写作时magic-dash最新版本为0.4.1):

2.2 magic-dash的基础使用
magic-dash的核心用法是作为命令行工具,进行不同类型内置Python应用模板项目的创建,执行下面的命令可以查看目前magic-dash中内置的全部应用项目模板:
magic-dash list

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

在你熟悉的ide中将上面生成的项目目录作为项目打开后,终端执行下面的命令完成项目对应依赖的安装、数据库初始化操作(默认配置参数下使用sqlite数据库):
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
以上就是本文的全部内容,欢迎在评论区与我们进行讨论~
Python全栈应用搭建神器magic-dash 0.4新版本介绍的更多相关文章
- python全栈开发,Day43(引子,协程介绍,Greenlet模块,Gevent模块,Gevent之同步与异步)
昨日内容回顾 I/O模型,面试会问道 I/O操作,不占用CPU,它内部有一个专门的处理I/O模块 print和写log属于I/O操作,它不占用CPU 线程 GIL保证一个进程中的多个线程在同一时刻只有 ...
- python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...
- 老男孩Python全栈第2期+课件笔记【高清完整92天整套视频教程】
点击了解更多Python课程>>> 老男孩Python全栈第2期+课件笔记[高清完整92天整套视频教程] 课程目录 ├─day01-python 全栈开发-基础篇 │ 01 pyth ...
- python全栈学习路线
python全栈学习路线-查询笔记 查询目录 一,硬件 十一,数据 ...
- 学习笔记之Python全栈开发/人工智能公开课_腾讯课堂
Python全栈开发/人工智能公开课_腾讯课堂 https://ke.qq.com/course/190378 https://github.com/haoran119/ke.qq.com.pytho ...
- python 全栈之路
目录 Python 全栈之路 一. Python 1. Python基础知识部分 2. Python -函数 3. Python - 模块 4. Python - 面对对象 5. Python - 文 ...
- Python全栈【Socket网络编程】
Python全栈[socket网络编程] 本章内容: Socket 基于TCP的套接字 基于UDP的套接字 TCP粘包 SocketServer 模块(ThreadingTCPServer源码剖析) ...
- Python全栈【异常处理】
Python全栈[异常处理] 本节内容: 1.异常处理 2.什么时候用异常处理 异常处理 1.异常处理: 异常就是程序运行时发生错误的信号,异常处理是在编程过程中为了增加友好性,在程序出现bug时一般 ...
- Python全栈开发【面向对象进阶】
Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...
- Python全栈开发【面向对象】
Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...
随机推荐
- TVMC python:一种TVM的高级API
Step 0: Imports from tvm.driver import tvmc Step 1: Load a model 下载模型: wget https://github.com/onnx/ ...
- 明明是同一条SQL,为什么有时候走索引a,有时候却走索引b ?
前言 想象你是一家餐厅的服务员,面前有两个菜单: 菜单A:按菜品分类排列(前菜.主菜.甜点) 菜单B:按价格从低到高排列 当顾客说:"我要最便宜的川菜". 你会: 先用菜单B找到所 ...
- ThinkBook16p2023(i9-13900H)使用m2转接oculink外接RTX4070Ti Super跑分
ThinkBook16p2023(i9-13900H)使用m2转接oculink外接RTX4070Ti Super跑分 自媒体跑分 内屏 NVIDIA GeForce RTX 4070 Ti SUPE ...
- DeepSeek为什么现在感觉不火了?
DeepSeek为什么现在感觉不火了?一个技术圈老兵的冷静分析 作为一个在AI圈摸爬滚打多年的技术从业者,看到这个问题,我想从几个维度来聊聊DeepSeek这个现象级产品的起落轨迹. 说实话,Deep ...
- 「Temp」目录
吃吃吃 \(\color{orange}{Eon\ 今天吃什么}\) Temp \(\color{magenta}{代码模板}\) Trick \(\color{magenta}{常见错误}\) \( ...
- 如何彻底的卸载mysql
在Windows系统下面改如何彻底的卸载我们的mysql服务呢. 1.首先我们先停止mysql服务:net stop mysql 然后在控制面板里面找到我们的mysql,然后给他卸载掉.然后在之前安装 ...
- 微信小店与微信小程序简单集成指南
微信小店现已全面打通小程序生态,为开发者提供强大的电商能力支持.本文将详细介绍各项集成功能及代码实现方案. 一.商品展示与交易能力 1. 商品卡片嵌入 // 基础商品卡片嵌入 <store-pr ...
- 移动设备控制网络IO模块案例
网络IO模块设备配置画面一 首先ip模式设置为动态获取,工作模式设置为tcp客户端模式,目的ip或域名设置为47.95.144.92,目的端口设置为9797,波特率设置为115200,这是这个页面需要 ...
- java 拖拽矩形
简介 java 拖拽矩形 code import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import java.ut ...
- Node.js躬行记(30)——SkyWalking使用和排查分析
公司使用了阿里云的服务,其中可以在项目中使用全链路监测,最近要排查慢响应,所以就在 Node 项目中接了一下 SkyWalking. 本文还会记录在使用时遇到的问题,以及解决思路. 一.初始化 1)参 ...