【问题标题】:Manipulating request.FILES in django POST在 django POST 中操作 request.FILES
【发布时间】:2017-11-06 13:05:19
【问题描述】:

我在 django 中有一个文件上传视图。我有一个模型表格。在 POST 方法中 request.FILES 包含所有文件。

我想对 request.FILES 中上传的文件做一些额外的工作。我将文件保存在本地并做了一些额外的工作。但我无法分配 request.FILES 中的文件。

我做了一本像 -

data_dict = {
                        'a_file': open(tmp_dir + "/a_repro.a", 'r'),
                        'b_file': open(tmp_dir + "/b_repro.b", 'r'),

                        'c_file': open(tmp_dir + "/c_repro.c", 'r'),

                        'd_file': open(tmp_dir + "/d_repro.d", 'r'),

                    }

但我不能分配喜欢 -

form = MyUploadForm(request.POST, data_dict)

或者,

request.FILES = data_dict

但它不起作用。我该怎么做?

【问题讨论】:

    标签: django django-forms


    【解决方案1】:

    您不需要操纵request.FILES。因为,表单将采用参数datafiles。 根据您的要求,您可以执行以下操作

    files = {
       'a_file': open(tmp_dir + "/a_repro.a", 'r').read(),
    }
    
    form = MyUploadForm(data=request.POST, files=files)
    

    参考见:https://github.com/django/django/blob/master/django/forms/forms.py#L74

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-25
      • 2018-05-31
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多