python学习:Django的文件上传(10)

Django的文件上传

编写对应文件上传form表单,使用input,类型为file,form表单的enctype属性为:multipart/form-data。

示例:

编写html文件,fileUpload.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文件上传</title>
</head>
<body>

    <form action="/url_dispatch/upload/" method="post" enctype="multipart/form-data">
        {% csrf_token %}
        <input type="text" name="text">
        <input type="file" name="file">
        <input type="submit" value="提交">
    </form>
</body>
</html>

修改urls.py,增加对应url路径:

path("upload/",views.upload)

修改views.py,创建upload视图函数:

#上传文件
def upload(request):
    if request.method == "GET":
        return render(request,"fileUpload.html")
    else:
        #上传文件在request.FILES中
        print(request.POST)
        print(request.FILES)
        #获取上传文件对象
        files = request.FILES.get("file")
        #文件对象属性,文件名,文件大小
        print(files.name,files.size)
        #新建文件句柄
        f = open(files.name,"wb")
        for line in files.chunks():
            f.write(line);
        f.close()
        return  HttpResponse("OK")

 

posted @ 2020-12-19 14:33  渔歌晚唱  阅读(79)  评论(0)    收藏  举报