'django download view downloading only .xls instead of file with extension on model

I have my Django view where I upload the file from admin and users download it on the frontend when I download the file on the frontend the download is extension with only .xls i.e when I upload the file with .xlsx extension it is still downloading with .xls instead the file should be downloaded according to the extension either its xls or xlsx.

views.py

class myAPIView(APIView):

   def get(self, request):
    data = Model.objects.first()
    filename = data.file.name
    file_extention = filename.split('.')[-1] 
    response = HttpResponse(
    data.file.path,
    content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
    response['Content-Disposition'] = \
        'attachment; filename="output_file"'+ file_extention
    return response


Solution 1:[1]

This is the standard that you can apply(edit the content-type for you.)

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(
        file_path,
        content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
        response['Content-Disposition'] = \
            'attachment; filename="output_file"'+ file_extention
        return response

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1