Я делаю простой просмотр и хочу, чтобы ответ был файлом CSV, но я не хочу, чтобы проводник загружал его.
Здесь я покажу вам ответ, который я даю:
def csv_response(self, fields, queryset=None, filename=None):
if not queryset:
try:
queryset = self.get_queryset()
except AttributeError:
raise ImproperlyConfigured('This method needs to have a queryset configured.')
if not filename:
filename = self.__class__
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'inline'
writer = csv.DictWriter(response, fieldnames=fields.keys(), delimiter=',')
writer.writeheader()
for element in queryset:
writer.writerow({fieldname: getattr(element, field) for fieldname, field in fields.items()})
return response
Я просто хочу, чтобы он выводил его в любом проводнике, а не загружал, возможно ли это?Я думаю, что это так, как я видел некоторые в Интернете.
РЕДАКТИРОВАТЬ: я пытался изменить:
response = HttpResponse(content_type='text/plain', charset='utf-8')
, и тогда вывод не загружается сразу, но символы сакценты не имеют правильных символов.Я не понимаю эту последнюю партию, так как я установил charset = 'utf-8'.В качестве проверки я увидел, что заголовки в последнем html, отображаемом de explorer, не имеют установленного параметра charset.