Django文件上传(经典上传方式)
经典文件上传方式
创建URL
from django.contrib import admin from django.urls import path from django.conf.urls import url from app01 import views urlpatterns = [ path('admin/', admin.site.urls), url("upload.html",views.upload), ]
创建一个简易上传页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="upload.html" method="post" enctype="multipart/form-data"> {% csrf_token %} <p><input type="text" name="user"></p> <p><input type="file" name="img"></p> <p><input type="submit" value="上传"></p> </form> </body> </html>
创建视图函数进行接收前端传入的文件
from django.shortcuts import render from django.shortcuts import HttpResponse from django.shortcuts import redirect from django import forms from django.forms import fields # Create your views here. class UploadForm(forms.Form): user=fields.CharField() img=fields.FileField() def upload(request): if request.method=="GET": return render(request,"upload.html") else: obj=UploadForm(request.POST,request.FILES) if obj.is_valid(): user=obj.cleaned_data["user"] img=obj.cleaned_data["img"] # user=request.POST.get("user") # img=request.FILES.get("img") # print(request.POST) #获取以POST方式提交的数据 # print(request.FILES) #获取前端提交的文件 # print(img) #获取文件信息 # print(img.name) #获取文件名称 # print(img.size) #获取文件大小 f=open(img.name,"wb") for line in img.chunks(): f.write(line) f.close() return HttpResponse("ok")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~