2009-05-07 3 views
13

У меня есть представление Django, которое возвращает HttpResponse со специальным типом MIME, чтобы браузер пользователя «загружал» файл, а не просматривал его в браузере. Проблема в том, что имя файла по умолчанию, в котором будет сохранено ответ, равно URL, к которому пользователь пытался получить доступ.Сделать ответ Django как «другое имя файла»

Есть ли способ включить имя файла по умолчанию в объект HttpResponse или мне нужно перенаправить на другой URL-адрес, чтобы это произошло?

ответ

27

Там в соответствующий пример в docs:

from django.http import HttpResponse 

def some_view(request): 
    # Create the HttpResponse object with the appropriate headers. 
    response = HttpResponse(mimetype='application/pdf', <snip>) 
    response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"' 
    return response 
+0

Minor примечание: вам нужно в кавычки имя файла или браузеры будут использовать «download.bin». То есть: filename = "somefilename.pdf" – vrplumber

Смежные вопросы