2016-04-21 3 views
0

ich einen Code für die Einstellung Pfad für den Import und Export von Dateien geschrieben:Unerwartetes Start Herunterladen während Httpresponse gibt zwei Strings

def setPath(*args): 
    abs_path = os.path.dirname(__file__) #/path/to/dir/ 
    root_dir = os.path.split(abs_path)[0] #/path/to/root_of_project/ 
    imp_file_path = "files/links.txt" 
    exp_file_path = "files/html_data" 
    abs_imp_file_path = os.path.join(root_dir, imp_file_path) # abs_path to file 
    abs_exp_file_path = os.path.join(root_dir, exp_file_path) 
    return HttpResponse(abs_exp_file_path) 

Es funktioniert gut, aber wenn ich beide versuchen zurückzukehren ‚abs_imp_file_path‘ und ‚abs_exp_file_path‘, Browser startet den Download einer Datei namens "download" (ohne Erweiterung) mit dem Wert von "abs_exp_file_path". Warum passiert es? Bitte erkläre, wo ich falsch liege.

Antwort

0

HttpResponse gibt nur einen String in Ihrem Fall zurück, deshalb sehen Sie diesen Wert als Download ... Normalerweise sollte dies eine vollwertige HTML (Dokument) Antwort sein.

haben Sie einen Blick auf die django Dokumentation für HttpResponseObjects (https://docs.djangoproject.com/en/1.9/ref/request-response/#httpresponse-objects)

+0

Danke für Ihre Antwort, aber ich kann nicht geeignet Httpresponse-Methode zurückgeben mehrere Strings finden. Könnten Sie bitte etwas mehr erklären? – Andriy

+1

Ehrlich gesagt verstehe ich nicht ganz, was Sie tun wollen ... Also bitte erläutern Sie, was Ihre Ansicht macht oder tun sollte ... – Jingo

+0

Ich möchte zwei Links haben, um den einen oder anderen in meinem nächsten Code zu verwenden ... – Andriy

Verwandte Themen