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.pswp.cn/web/70036.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70036.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70036.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【前端知識】瀏覽器兼容方案polyfill

瀏覽器兼容方案polyfill 什么是 Polyfill?Polyfill 的作用Polyfill 的工作原理1. **特性檢測**2. **加載 Polyfill**3. **模擬實現** Polyfill 的常見場景Polyfill 的使用方式Polyfill 的優缺點優點缺點 常見的 Polyfill 庫總結 什么是 Polyfill? Polyf…

C#學習之DateTime 類

目錄 一、DateTime 類的常用方法和屬性的匯總表格 二、常用方法程序示例 1. 獲取當前本地時間 2. 獲取當前 UTC 時間 3. 格式化日期和時間 4. 獲取特定部分的時間 5. 獲取時間戳 6. 獲取時區信息 三、總結 一、DateTime 類的常用方法和屬性的匯總表格 在 C# 中&#x…

dedecms 開放重定向漏洞(附腳本)(CVE-2024-57241)

免責申明: 本文所描述的漏洞及其復現步驟僅供網絡安全研究與教育目的使用。任何人不得將本文提供的信息用于非法目的或未經授權的系統測試。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權,請及時與我們聯系,我們將盡快處理并刪除相關內容。 0x0…

如何選擇合適的超參數來訓練Bert和TextCNN模型?

選擇合適的超參數來訓練Bert和TextCNN模型是一個復雜但關鍵的過程,它會顯著影響模型的性能。以下是一些常見的超參數以及選擇它們的方法: 1. 與數據處理相關的超參數 最大序列長度(max_length) 含義:指輸入到Bert模…

AWS 前端自動化部署流程指南

本文詳細介紹從前端代碼開發到 AWS 自動化部署的完整流程。 一、流程概覽 1.1 部署流程圖 #mermaid-svg-nYg7k6L5IKVBjDtr {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-nYg7k6L5IKVBjDtr .error-icon{fill:#552…

Office word打開加載比較慢處理方法

1.添加safe參數 ,找到word啟動項,右擊word,選擇屬性 , 添加/safe , 應用并確定 2.取消加載項,點擊文件,點擊選項 ,點擊加載項,點擊轉到,取消所有勾選,確定。

大數據SQL調優專題——Spark執行原理

引入 在深入MapReduce中有提到,MapReduce雖然通過“分而治之”的思想,解決了海量數據的計算處理問題,但性能還是不太理想,這體現在兩個方面: 每個任務都有比較大的overhead,都需要預先把程序復制到各個 w…

MYSQL下載安裝及使用

MYSQL官網下載地址:https://downloads.mysql.com/archives/community/ 也可以直接在服務器執行指令下載,但是下載速度比較慢。還是自己下載好拷貝過來比較快。 wget https://dev.mysql.com/get/Downloads/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz 1…

CentOS 7.8 安裝MongoDB 7 副本集(Replica Set)

文章目錄 1 環境假設步驟1:在兩臺服務器上安裝MongoDB步驟2:配置副本集步驟3:初始化副本集步驟4:驗證副本集配置步驟5:設置安全性(可選)擴展配置示例:最佳實踐:仲裁節點步…

AJAX 與 ASP 的深入探討

AJAX 與 ASP 的深入探討 引言 隨著互聯網技術的飛速發展,Web應用程序的交互性和性能要求越來越高。AJAX(Asynchronous JavaScript and XML)和ASP(Active Server Pages)作為兩種重要的Web開發技術,在提高Web應用程序性能和用戶體驗方面發揮著重要作用。本文將深入探討AJ…

內網下,Ubuntu (24.10) 離線安裝docker最新版教程

一般在數據比較敏感的情況下,是無法使用網絡的,而對于Ubuntu系統來說,怎么離線安裝docker呢? 下面我給大家來講一下: 采用二進制安裝: 1.下載docker離線包 官網下載: Index of linux/static…

Copilot Next Edit Suggestions(預覽版)

作者:Brigit Murtaugh,Burke Holland 排版:Alan Wang 我們很高興向你介紹在本次 Visual Studio Code 發布中,關于 GitHub Copilot 的三個預覽功能: Next Edit Suggestions(NES)Copilot Edits 的…

高性能內存對象緩存Memcached詳細實驗操作

目錄 前提準備: cache1,2: 客戶端cache-api(一定得是LAMP環境) memcache實現主主復制以及高可用(基于以上完成) cache1,2: memcachekeepalived(基于以上完成) cache1,2: 前提準備: 1. 準備三臺cent…

全單模矩陣及其在分支定價算法中的應用

全單模矩陣及其在分支定價算法中的應用 目錄 全單模矩陣的定義與特性全單模矩陣的判定方法全單模矩陣在優化中的核心價值分支定價算法與矩陣單模性的關系非全單模問題的挑戰與系統解決方案總結與工程實踐建議 1. 全單模矩陣的定義與特性 關鍵定義 單模矩陣(Unimo…

Spring AI發布!讓Java緊跟AI賽道!

1. 序言 在當今技術發展的背景下,人工智能(AI)已經成為各行各業中不可忽視的重要技術。無論是在互聯網公司,還是傳統行業,AI技術的應用都在大幅提升效率、降低成本、推動創新。從智能客服到個性化推薦,從語…

【kafka系列】Kafka如何保證消息不丟失?

目錄 1. 生產者端:確保消息成功發送到Broker 核心機制: 關鍵步驟: 2. Broker端:持久化與副本同步 核心機制: 關鍵源碼邏輯: 3. 消費者端:可靠消費與Offset提交 核心機制: 關…

利用二分法+布爾盲注、時間盲注進行sql注入

一、布爾盲注&#xff1a; import requestsdef binary_search_character(url, query, index, low32, high127):while low < high:mid (low high 1) // 2payload f"1 AND ASCII(SUBSTRING(({query}),{index},1)) > {mid} -- "res {"id": payloa…

UART(一)——UART基礎

一、定義 UART(Universal Asynchronous Receiver/Transmitter)是一種廣泛使用的串行通信協議,用于在設備間通過異步方式傳輸數據。它無需共享時鐘信號,而是依賴雙方預先約定的參數(如波特率)完成通信。 功能和特點 基本的 UART 系統只需三個信號即可提供穩健的中速全雙工…

【PHP】php+mysql 活動信息管理系統(源碼+論文+數據庫+數據庫文件)【獨一無二】

&#x1f449;博__主&#x1f448;&#xff1a;米碼收割機 &#x1f449;技__能&#x1f448;&#xff1a;C/Python語言 &#x1f449;專__注&#x1f448;&#xff1a;專注主流機器人、人工智能等相關領域的開發、測試技術。 【PHP】php 活動信息管理系統&#xff08;源碼論文…

數據結構——單向循環鏈表、雙鏈表、雙向循環鏈表

目錄 一、單向循環鏈表 1.1 單向循環鏈表的概念 1.2 單向循環鏈表的操作 1.2.1 單向循環鏈表的創建 1.2.2 單向循環鏈表的頭插 1.2.3 單向循環鏈表的遍歷 1.2.4 單向循環鏈表的頭刪 1.2.5 單向循環鏈表的尾插 1.2.6 單向循環鏈表的尾刪 1.2.7 約瑟夫環 1.3 單向循環列表所有程…