【发布时间】:2020-11-05 01:44:01
【问题描述】:
我有一个 DRF 视图,我需要确保上传的文件位于文件系统上,而不仅仅是在内存中。 DRF respects Django's FILE_UPLOAD_HANDLERS setting,但我不想为我的整个应用程序更改它,只是这一个视图。
我知道在常规的 Django 视图中我可以将 request.upload_handlers 设置为我想要的值,但这似乎在 DRF 中不起作用。我尝试在我的视图集中从.initialize_request() 执行此操作,如下所示:
def initialize_request(self, request, *args, **kwargs):
request.upload_handlers = ["django.core.files.uploadhandler.TemporaryFileUploadHandler"]
return super().initialize_request(request, *args, **kwargs)
但我得到了:
AttributeError: You cannot set the upload handlers after the upload has been processed.
对我来说,为单个 DRF 视图(特别是通用视图集的 create 操作)设置上传处理程序的正确方法是什么?
【问题讨论】:
标签: django django-rest-framework