Django - __init__() получил неожиданный аргумент ключевого слова 'headers'
Я пытаюсь загрузить CSV при нажатии на кнопку, однако получаю ошибку:
__init__() got an unexpected keyword argument 'headers
Это мое мнение:
def download_file(request):
response = HttpResponse(
content_type='text/csv',
headers={'Content-Disposition': 'attachment; filename="somefilename.csv"'},
)
return response
это трекбэк:
Traceback:
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/handlers/exception.py" in inner
34. response = get_response(request)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/handlers/base.py" in _get_response
115. response = self.process_exception_by_middleware(e, request)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/core/handlers/base.py" in _get_response
113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
21. return view_func(request, *args, **kwargs)
File "/Users/matthewkaye/Eflux/Argus/app/views.py" in download_file
74. response = HttpResponse(
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/django/http/response.py" in __init__
289. super().__init__(*args, **kwargs)
Exception Type: TypeError at /Download
Exception Value: __init__() got an unexpected keyword argument 'headers'
Предполагаю, что вы используете более старую версию Django. В версии 2 невозможно установить заголовки в конструкторе. Попробуйте
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="somefilename.csv"'
См. также https://docs.djangoproject.com/en/2.2/ref/request-response/#django.http.HttpResponse.init