2009-12-17 4 views

Antwort

52
  1. response = HttpResponse("Here's the text of the Web page."):
    wird ein neues HttpResponse Objekt mit HTTP-Code 200 (OK) erstellen, und den Inhalt an den Konstruktor übergeben. Im Allgemeinen sollten Sie dies nur für wirklich kleine Antworten verwenden (wie ein AJAX-Formular-Rückgabewert, wenn es wirklich einfach ist - nur eine Zahl oder so).

  2. HttpResponseRedirect("http://example.com/"):
    wird ein neues HttpResponse Objekt mit HTTP-Code 302 (Gefunden/Verschoben vorübergehend) erstellen. Dies sollte nur verwendet werden auf eine andere Seite (zB nach erfolgreicher Form POST)

Aus der Dokumentation zu umleiten:

class HttpResponseRedirect Der Konstruktor nimmt ein einziges Argument - der Weg zu umleiten zu. Dies kann eine vollqualifizierte URL (z. B. 'http://www.yahoo.com/search/') oder eine absolute URL ohne Domäne (z. B. '/ search /') sein. Beachten Sie, dass diese gibt einen HTTP-Statuscode 302.

genug gesagt ...

render_to_response(template[, dictionary][, context_instance][,mimetype])
Renders eine gegebene Vorlage mit einem Kontext-Wörterbuch gegeben und gibt ein Httpresponse-Objekt mit diesem gemacht Text.

ist ein Aufruf, um eine Vorlage mit einem gegebenen Wörterbuch von Variablen zu rendern, um die Antwort für Sie zu erstellen. Dies ist, was Sie die meiste Zeit verwenden sollten, weil Sie Ihre Präsentationslogik in Vorlagen und nicht in Code behalten möchten.

+1

render_to_response sollte nicht nach der Verarbeitung von POSTs verwendet werden. Nach der POST-Verarbeitung ist eine Weiterleitung die bessere Wahl, da die Nachricht nicht angezeigt wird, dass das Formular erneut gesendet wird. – cethegeek

+3

Ich schrieb das tatsächlich in meiner Antwort ... Ich werde es wagen. –

+0

Danke Kumpel für die detaillierte Antwort :) –

Verwandte Themen