博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django里面文件上传处理处理
阅读量:7117 次
发布时间:2019-06-28

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

hot3.png

最近,写一个上次文件的django。死活传不过去。

在大神的帮助下面,最终还是成。 不过也发现一个问题:

django 官网文档:

表单定义

class UploadFileForm(forms.Form):    title = forms.CharField(max_length=50)    file = forms.FileField()

表单对象生成.

form = UploadFileForm(request.POST, request.FILES)

request.POST里面是除了request.FILES外其他的参数,这里比如title.

但是奇怪的是如果我UploadFileForm里面只有一个tile。这里写成form = UploadFileForm( request.FILES),就是会报错…………(悲催的我搞了好久没明白,第一个参数)

发现这个第一个参数是被用来判断布尔值的。难道是用来YY的?写成UploadFileForm( {},request.FILES)就没问题了。

顺便贴下保存方法:

def handle_upload_file(f):

    """save the file which is loaded """

    print('in handle')

    try:

        path = UPLOADED_FILE_DIRS + time.strftime('/%Y/%m/%d/%H/%M/%S/')

        print(path)

        if not int(os.path.exists(path)):

            os.makedirs(path)

            path_file_name = path+f.name

            print(path_file_name)

            destination = open(path_file_name, "wb+")

            for chuck in f.chunks():

                destination.write(chuck)

            destination.close()

    except Exception as e:

        print(e)

    return path_file_name

html中设置enctype="multipart/form-data"

转载于:https://my.oschina.net/u/2367514/blog/508489

你可能感兴趣的文章
ceph
查看>>
如果Google面试让你用python写一个树的遍历程序
查看>>
Java第四次实验
查看>>
为discuz x2.5添加播放附件(mp4)的方法
查看>>
SpringMVC深度探险(一) —— SpringMVC前传
查看>>
面试 框架部分
查看>>
display: flex属性介绍
查看>>
mysql复制表的方法
查看>>
镜像复制+copy命令+镜像复制案例
查看>>
Android APP 中英文切换
查看>>
RabbitMQ学习总结(7)——Spring整合RabbitMQ实例
查看>>
模糊查询,多条件查询
查看>>
java JNI 实现原理 (二) Linux 下如何 load JNILibrary
查看>>
内联函数和函数重载
查看>>
<%%>与<%=%>区别
查看>>
Python 中的 if __name__ == '__main__'
查看>>
C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍)
查看>>
kuangbin专题一 简单搜索
查看>>
第二章 单表查询 T-SQL语言基础(2)
查看>>
chrome总是崩溃
查看>>