Django download view загрузка только .xls вместо файла с расширением на модели

У меня есть представление Django, где я загружаю файл из админки и пользователи скачивают его на фронтенде, когда я скачиваю файл на фронтенде, скачивается расширение только с .xls, т.е. когда я загружаю файл с расширением .xlsx, он все равно скачивается с .xls, вместо этого файл должен скачиваться в соответствии с расширением либо xls, либо xlsx.

views.py

class myAPIView(APIView):

    def get(self, request):
        data = Model.objects.first()

        return HttpResponse(
            data.file,
            content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel',
        )

Это стандарт, который вы можете применить (отредактируйте тип содержимого для себя.)

class myAPIView(APIView):
    def get(self, request):
        data = Model.objects.first()
        filename = data.file # or data.file.name based on your models.
        file_extention = filename.split('.')[-1] # something which is seprated by dot. in the last
        
        response = HttpResponse(
        content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
        response['Content-Disposition'] = \
            'attachment; filename="output_file"'+ file_extention
        return response
Вернуться на верх