python - Django 模型 FileField 大文件上传
问题描述
我需要在 Django 模型中使用 FileField 字段时上传大文件(大约 1GB)。这给出了错误 DATA_UPLOAD_MAX_MEMORY_SIZE。我想我需要在保存模型时使用分块上传。我怎样才能做到这一点?或者有没有其他解决方案?
RequestDataTooBig at /admin/supports/software/add/
Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
Request Method: POST
Request URL: http://0.0.0.0:8000/admin/supports/software/add/
Django Version: 3.0.5
Exception Type: RequestDataTooBig
Exception Value:
Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
Exception Location: /usr/local/lib/python3.8/site-packages/django/http/request.py in body, line 297
Python Executable: /usr/local/bin/python
Python Version: 3.8.3
Python Path:
['/app',
'/app',
'/usr/local/lib/python38.zip',
'/usr/local/lib/python3.8',
'/usr/local/lib/python3.8/lib-dynload',
'/usr/local/lib/python3.8/site-packages']
Server time: Prş, 26 Ağu 2021 15:24:51 +0300
我的模型:
class Software(AbstractBasicFTPSupportModel):
category = models.ForeignKey(
to="SupportCategory", related_name="softwares", on_delete=models.CASCADE, verbose_name=_("category"),
)
related_products = models.ManyToManyField(
"product.Product", blank=True, related_name="softwares", verbose_name=_("related products")
)
software_file = models.FileField(
upload_to=save_support_file, verbose_name=_("software file"), null=True, blank=True, max_length=255,
)
解决方案
在 settings.py 中设置 FILE_UPLOAD_MAX_MEMORY_SIZE
推荐阅读
- c# - Entity Framework Core 可以运行 SqlQuery 吗?
- angular - 如何根据属性从firestore中检索用户
- java - Soteria HttpMessageContext.setRegisterSession() 没有按预期工作?
- python - 将复杂的 str 更改为在 pandas Dataframe 中浮动
- reactjs - 我尝试使用 react 和 redux 创建选项卡。一切正常,但我希望在关闭前一个元素时突出显示下一个元素
- python - 如何为 python 应用程序减小这个多阶段 docker 构建的大小
- python - 在项目中从 None 提高 KeyError(key)
- angular - 根据输入角度过滤多维数组
- php - 如何在左连接上比较逗号分隔的 id
- python - "\r\n" 也没有写入下一行