django简单实现文件上传
发布日期:2021-07-01 02:13:05 浏览次数:2 分类:技术文章

本文共 929 字,大约阅读时间需要 3 分钟。

在settings设置上传路径

在这里插入图片描述

在一个app下设置url
在这里插入图片描述

在这里插入图片描述

没有 {% csrf_token %} 就会404,设置name= 通过getlist(‘file’)来获取所有文件,而设置multiple可以上传多个文件

    
Title

上传文件

请选择你要上传的文件:

{% csrf_token %}

在view.py设置视图

在这里插入图片描述

from crm.settings import UPLOAD_ROOT # 导入路径import osdef upload(request):    if request.method == 'POST':        files = request.FILES.getlist('file', None)        for file in files:            day_dir = datetime.now().strftime('%Y%m%d')            pre_dir = os.path.join(UPLOAD_ROOT, day_dir)            if not os.path.exists(pre_dir):                os.mkdir(pre_dir)            filename = os.path.join(pre_dir, file.name)            with open(filename, 'wb') as f:                for line in file.chunks():                    f.write(line)        return HttpResponse('上传成功!')    return render(request, 'teacher/upload.html')

因为文件是post请求,通过 request.FILES.getlist得到所有文件,如果没有就是返回空,对于文件有chunks方法,一点一点读入,如果大的文件不用卡死,

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

为了更好的理解,小白我debug一下

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

转载地址:https://maoli.blog.csdn.net/article/details/89435366 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:django请求与响应(HttpRequest对象和HttpResponse对象)
下一篇:django表与表之间的关系

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月13日 11时48分24秒