Django文件上传(经典上传方式)

摘要:
经典文件上传方式创建URLfromdjango.contribimportadminfromdjango.urlsimportpathfromdjango.conf.urlsimporturlfromapp01importviewsurlpatterns=[path('admin/',admin.site.urls),url("upload.html",views.upload),]创建一个简易上

经典文件上传方式

创建URL

from django.contrib importadmin
from django.urls importpath
from django.conf.urls importurl
from app01 importviews
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 importrender
from django.shortcuts importHttpResponse
from django.shortcuts importredirect
from django importforms
from django.forms importfields
#Create your views here.
classUploadForm(forms.Form):
    user=fields.CharField()
    img=fields.FileField()
defupload(request):
    if request.method=="GET":
        return render(request,"upload.html")
    else:
        obj=UploadForm(request.POST,request.FILES)
        ifobj.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 inimg.chunks():
            f.write(line)
        f.close()
    return HttpResponse("ok")

免责声明:文章转载自《Django文件上传(经典上传方式)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇HTTP请求中的form data和request payload的区别斐波那契数列(动态规划)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

在Django / DRF中正确处理日期时间/时区

我正在尝试为我的网络应用程序进行正确的日期处理设置.我有一个看起来像这样的模型 class Entity(models.Model): name = models.CharField(max_length=255) date = models.DateTimeField() 用户可以向我的DRF端点/ api / v1 / entity /...

django中间件的使用

1.创建中间件 在django项目的settings模块中,有一个MIDDLEWARE_CLASSES变量,其中每一个元素就是一个中间件。中间件其实就是django中的一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。 MIDDLEWARE = [ 'django.middleware.security....

Django的模板与母版

Django的模板与母版 PythonDjango模板母版 Django模板系统 与Django模板有关的官方文档 语法相关 变量相关 {{ 变量名 }} {{ name }},{{name|length}},{{name|default:"默认值"}} 变量名由字母数字和下划线组成。 点(.)在模板语言中有特殊的含义,用来...

Django 框架入门篇(安装与创建项目)

什么是Django框架? 官方定义:Django是一个高级Python Web框架,鼓励快速开发和简洁实用的设计。它由经验丰富的开发人员构建,可以解决大部分Web开发的麻烦,因此您可以专注于编写应用程序而无需重复造轮子。 Django is a high-level Python Web framework that encourages rapid de...

Django2实战示例 第四章 创建社交网站

目录 Django2实战示例 第一章 创建博客应用Django2实战示例 第二章 增强博客功能Django2实战示例 第三章 扩展博客功能Django2实战示例 第四章 创建社交网站Django2实战示例 第五章 内容分享功能Django2实战示例 第六章 追踪用户行为Django2实战示例 第七章 创建电商网站Django2实战示例 第八章 管理支付与订...

Django(一):从socket到MVC

一、socket的http套路 web应用本质上是一个socket服务端,用户的浏览器是一个socket客户端。socket处在应用层与传输层之间,是操作系统中I/O系统的延伸部分(接口),负责系统进程和应用之间的通信。 HTTP协议又称超文本传输协议。 1 //浏览器发送一个HTTP请求; 2 //服务器收到请求,根据请求信息,进行函数处理,生成一个H...