当前位置:  开发笔记 > 编程语言 > 正文

如何使用django(python)和s3上传文件?

如何解决《如何使用django(python)和s3上传文件?》经验,为你挑选了2个好方法。

我正在寻找一种将文件上传到s3的方法.我正在使用django.我目前正在使用amazon的python库上传以下代码:

视图:

def submitpicture(request):
    fuser = request.session["login"]

    copied_data = request.POST.copy()
    copied_data.update(request.FILES)
    content_type = copied_data['file'].get('content-type')
    ffile = copied_data['file']['content']
    key = '%s-%s' % (fuser, ''.join(copied_data['file']['filename'].split(' ')))
    site_s3.save_s3_data(key, ffile, content_type)

模板:

但是,当我实际尝试运行它时,我收到以下错误:

"Key 'file' not found in "
#MultiValueDictKeyError

我真的不明白我做错了什么.有人能指出我正确的方向吗?

编辑:为了防止有人想知道,我计划在实际上传工作后添加一些验证.



1> ayaz..:

你必须为FORM元素提供enctype属性(我之前已经被它咬过).例如,您的FORM标记应如下所示:

没有enctype,你会发现自己有一个空的请求.FILES.



2> Alex Gaynor..:

与其手动进行操作,不如看一下David Larlet为Django(django- storages)编写的存储后端

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有