Файл загружается на локальном, но не на рабочем сервере в Django Rest framework?

У меня есть простой API, который загружает файл в системе. Он отлично работает на локальном сервере, но когда я развертываю тот же код на продакшене, он выдает мне ошибку сервера 500. Если я попробую с другим идентификатором, который не существует, он скажет, что объект не найден.

Мой код выглядит следующим образом.

def get_permissions(self):
    """
    Instantiates and returns the list of permissions that this view requires.
    """
    if self.request.query_params.get("download") == "file":
        return []
    return [permission() for permission in self.permission_classes]

def get(self, request, *args, **kwargs):

    if request.query_params.get("download") == "file":
        return self.download_file(request)
    /....other codes........./

def download_file(self, request, *args, **kwargs):

    instance = self.get_object()
    file_handle = instance.file.path
    document = open(file_handle, "rb")
    response = HttpResponse(FileWrapper(document), content_type="")
    response["Content-Disposition"] = (
        'attachment; filename="%s"' % instance.file_name
    )
    return response 

URL моей конечной точки выглядит так:

{{prod}}api/v1/example/notes/12/?download=file

Когда я вызываю этот api, ставя local вместо prod, он работает и я получаю загруженный файл, но не в production. Это как-то связано с тем, что файл закрывается до получения ответа?

Вернуться на верх