在 Django 中更改 FILE_UPLOAD_MAX_MEMORY_SIZE 的正确方法是什么?

问题描述

如果我更改 FILE_UPLOAD_MAX_MEMORY_SIZE,是否也必须更改 DATA_UPLOAD_MAX_MEMORY_SIZE?

Django 认:

DATA_UPLOAD_MAX_MEMORY_SIZE = 2.5 Mb
FILE_UPLOAD_MAX_MEMORY_SIZE = 2.5 Mb

我的 api 在一个 json 请求中需要两个文件。将这些文件存储在磁盘上不是一种选择。我必须在内存中处理这些文件

我应该将 FILE_UPLOAD_MAX_MEMORY_SIZE 更新为 3Mb 吗?或者我应该将 DATA_UPLOAD_MAX_MEMORY_SIZE 更改为 8.5 Mb?或者我应该将 FILE_UPLOAD_MAX_MEMORY_SIZE 更改为 3Mb,将 DATA_UPLOAD_MAX_MEMORY_SIZE 更改为 8.5 Mb?

解决方法

您应该只更改 FILE_UPLOAD_MAX_MEMORY_SIZE,因为 DATA_UPLOAD_MAX_MEMORY_SIZE 不会影响文件上传,您可以在 the documentation 中阅读:

在访问 request.body 或 request.POST 时进行检查,并且是 根据不包括任何文件上传的总请求大小计算 数据。