2009-05-07 8 views
13

Mam widok Django, który zwraca HttpResponse ze specjalnym typem MIME, aby przeglądarka użytkownika "pobierać" plik, zamiast wyświetlać go w przeglądarce. Problem polega na tym, że domyślna nazwa pliku, w którym zostanie zapisana odpowiedź, jest adresem URL, do którego użytkownik próbował uzyskać dostęp.Złóż odpowiedź zwrotną Django jako "inną nazwę pliku"

Czy istnieje sposób na umieszczenie domyślnej nazwy pliku w obiekcie HttpResponse lub czy muszę przekierować do innego adresu URL, aby to się stało?

Odpowiedz

27

Jest istotne przykład w 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 uwaga: trzeba cudzysłowy wokół nazwy pliku lub przeglądarek użyje „download.bin”. To znaczy: filename = "somefilename.pdf" – vrplumber

Powiązane problemy