当前位置: 首页 > news >正文

django上传文件

1、settings.py配置

# 静态文件配置
STATIC_URL = '/static/'
STATICFILES_DIRS = [BASE_DIR /'static',
]

上传文件

# 定义一个视图函数,该函数接收一个 request 参数
from django.shortcuts import render
# 必备引入
import json
from django.views.decorators.http import require_POST, require_http_methods
from django.http import JsonResponse
import time
# 其它引入
import os
import uuiddef home_view(request):# 使用 HttpResponse 包装要返回的字符串# return HttpResponse("欢迎使用许大得商城")context = {'message': '欢迎使用许大得商城!'}return render(request, 'myDjangoWb/index.html', context)# 上传文件
@require_http_methods(["POST"])
def upload(request):data = {"code": "2000","data": [],"message": "查询成功"}# 检查请求中是否包含文件if request.FILES.get('file'):uploaded_file = request.FILES['file']# 获取静态文件目录路径date = time.strftime("%Y%m%d", time.localtime())  # 当前日期static_dir = os.path.join(os.getcwd(), 'static', date)# 如果目录不存在,则创建if not os.path.exists(static_dir):os.makedirs(static_dir)# 获取文件扩展名file_ext = os.path.splitext(uploaded_file.name)[1]# 生成唯一的文件名unique_name = f'{uuid.uuid4().hex}{file_ext}'# 生成文件保存的完整路径file_path = os.path.join(static_dir, unique_name)print(file_path)try:# 保存文件with open(file_path, 'wb+') as destination:for chunk in uploaded_file.chunks():destination.write(chunk)data['message'] = '文件上传成功'data['data'] = [f'/static/uploads/{unique_name}']except Exception as e:data['code'] = "2001"data['message'] = f'文件上传失败: {str(e)}'else:data['code'] = "2001"data['message'] = '未接收到文件'return JsonResponse(data)

在这里插入图片描述

http://www.lryc.cn/news/538880.html

相关文章:

  • Web 后端 请求与响应
  • 【深度解析】图解Deepseek-V3模型架构-混合专家模型(MoE)
  • 全平台搭载旭日5!科沃斯GOAT智能割草机器人全新系列正式开售
  • ORB-SLAM3的源码学习:TwoViewReconstruction通过两幅图像来实现重建
  • 基于单片机ht7038 demo
  • 【DeepSeek三部曲】DeepSeek-R1论文详细解读
  • 【深度学习】计算机视觉(CV)-目标检测-DETR(DEtection TRansformer)—— 基于 Transformer 的端到端目标检测
  • Windows Docker运行Implicit-SVSDF-Planner
  • ELK安装部署同步mysql数据
  • Vision Transformer图像分块嵌入核心技术解析:从数学推导到工业级应用
  • 【产品资料】陀螺匠·企业助手v1.8 产品介绍
  • 深度求索-DeepSeek-R1本地部署指南
  • 代码随想录day12
  • 告别第三方云存储!用File Browser在Windows上自建云盘随时随地访问
  • Ubuntu 下 nginx-1.24.0 源码分析 - NGX_MAX_ALLOC_FROM_POOL
  • PyQt6/PySide6 的 SQL 数据库操作(QtSql)
  • 利用IDEA将Java.class文件反编译为Java文件:原理、实践与深度解析
  • Kafka偏移量管理全攻略:从基础概念到高级操作实战
  • 【R语言】GitHub Copilot安装-待解决
  • 软件定义汽车时代的功能安全和信息安全
  • qt的QSizePolicy的使用
  • 简单几个步骤完成 Oracle 到金仓数据库(KingbaseES)的迁移目标
  • DeepSeek自动化写作软件
  • 【kafka系列】Kafka如何实现高吞吐量?
  • learn_pytorch03
  • 机器学习:k近邻
  • redis之lua实现原理
  • [Android] 【汽车OBD软件】Torque Pro (OBD 2 Car)
  • 安全问答—安全的基本架构
  • Java 运行时常量池笔记(详细版