# django-flashsend **Repository Path**: david-fs/django-flashsend ## Basic Information - **Project Name**: django-flashsend - **Description**: 打开应用,手机扫码,可以上传文件到电脑,或下载电脑文件到手机 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-06 - **Last Updated**: 2025-12-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # django-flashsend #### 介绍 django-flashsend 是一个基于 Django 的快速文件传输工具。通过在电脑上运行应用,会生成一个二维码,手机扫描二维码后可以直接上传文件到电脑,或者下载电脑上的文件到手机,实现跨设备的快速文件传输。 ![电脑页面](电脑页面.png) ![手机页面](手机页面.png) 主要功能包括: - 通过二维码快速建立手机与电脑的连接 - 支持文件上传(手机 -> 电脑) - 支持文件下载(电脑 -> 手机) - 支持文本消息传输 - 文件大小限制和安全检查 - 响应式Web界面,适配移动设备 - 实时显示media文件夹中的实际文件(而非仅数据库历史记录) #### 软件架构 基于 Django 框架开发,使用 QRCode 库生成二维码,支持 CORS,前后端分离架构。 技术栈: - 后端:Django 5.2.7 - 二维码生成:qrcode[pil] 8.2 - 前端:HTML/CSS/JavaScript/Alpine.js - 数据库:SQLite(默认) - 跨域支持:django-cors-headers 4.9.0 #### 功能特性 1. **文件管理机制更新**:新增了获取media文件夹中实际文件的功能,而非仅依赖数据库记录,使得文件列表能准确反映当前media目录中的内容。 2. **实时文件列表**:通过新的 `/api/media-files/` 接口,用户可以实时查看media文件夹中的文件,而不仅仅是上传历史记录。 3. **前后端分离设计**:前后端通过API接口通信,便于维护和扩展。 #### 安装教程 1. 克隆项目到本地 ```bash git clone https://github.com/yourusername/django-flashsend.git cd django-flashsend ``` 2. 安装依赖 ```bash pip install -r requirements.txt ``` 3. 初始化数据库 ```bash python manage.py makemigrations python manage.py migrate ``` 4. 创建超级用户(可选) ```bash python manage.py createsuperuser ``` #### 使用说明 1. 启动应用 ```bash python manage.py runserver ``` 应用将在本机启动,默认端口为 8000 2. 访问主页 在浏览器中打开 `http://127.0.0.1:8008`,页面会显示一个二维码 3. 扫描二维码 使用手机扫描页面上的二维码,将跳转到文件上传页面 4. 文件传输 - 上传:在手机上选择文件上传到电脑 - 下载:在电脑端查看已上传的文件列表,点击下载到手机 5. 文本消息传输 支持在手机和电脑之间传输文本消息 #### API 接口说明 - `GET /` - 主页,显示二维码 - `GET /upload/` - 文件上传页面 - `POST /api/upload/` - 文件上传接口 - `GET /api/files/` - 获取已上传文件列表(从数据库) - `GET /api/media-files/` - 获取media文件夹中的实际文件列表 - `POST /api/send_text/` - 发送文本消息 - `GET /api/messages/` - 获取文本消息列表 - `GET /download//` - 文件下载接口(通过数据库ID) #### 文件安全 - 文件大小限制:最大 100MB - 支持的文件类型包括常见文档、图片、音频、视频等格式 - 所有上传的文件都会记录IP地址和上传时间 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](./LICENSE) 文件了解详情