添加微信号CNFeffery
备注“dash学习”
即刻加入dash
应用开发技术交流群
大家好我是费老师,今天要给大家分享的项目是完全基于Python
编写的「网盘」应用,首先来看一下其主要功能的操作演示视频(玩转dash公众号后台回复「网盘」可直接获取该项目完整源码下载地址):
之所以可以完全基于Python
轻松开发出这个应用,要归功于Python
生态中非常强大的网页应用开发框架Dash
,以及其相关生态中的fac
(官网地址:https://fac.feffery.tech/ )等组件库,使得我们可以轻松调用不同的功能组件,并编写相应的回调函数来实现各种用户交互反馈功能:
下面我们对这个应用实现的主要过程做简短介绍,具体技术细节欢迎扫描「文章末尾二维码」,即刻加入Dash技术学习交流群一起交流:
1 启动应用
首先,按照「文章开头提示」下载好本项目完整源码解压后,在项目根目录打开终端,激活你的Python
环境,接着执行pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
,完成当前项目依赖库的安装。
然后直接在终端执行python app.py
即可启动应用,按照控制台提示的信息,浏览器访问本地http://127.0.0.1:8050
地址即可使用到应用:
2 应用开发重点思路
作为一个轻量的Dash
应用,其项目结构非常经典:
assets
目录存放静态资源,即本应用中的应用图标图片server.py
中进行应用的实例化,并配合Flask
内置了文件「上传」、「下载」接口app.py
中构建了应用的主体内容callbacks.py
中构建了用于「控制」应用中各项「交互」功能的一系列「回调函数」utils.py
中则是根据具体需求封装了若干自定义工具函数
应用中大量使用到Dash
中的服务端set_props()
方法,实现很多场景下的页面灵活控制,譬如处理用户点击左上角「当前路径指示器」,来实现快捷路径跳转的功能:
应用虽简单,但麻雀虽小五脏俱全,在很多细节逻辑的处理上都考虑到了,譬如当用户点击「下载文件」后,系统后台会生成对应的临时压缩包文件,供用户下载,而这些临时文件,基于下面的逻辑,会在用户「刷新」或「关闭」页面时,「自动」被「清除」:
更多有关此网盘应用的技术细节,欢迎添加微信号CNFeffery
备注「dash学习」,即刻加入技术交流群一起学习讨论。
更多Dash
应用开发干货内容,欢迎持续关注我们❤️。
扫描下方二维码加我好友备注dash学习
即刻加入dash
应用开发技术交流群