2009-12-17 7 views

Odpowiedz

52
  1. response = HttpResponse("Here's the text of the Web page."):
    stworzy nowy HttpResponse obiektu z kodu HTTP 200 (OK), a treści przekazywane do konstruktora. Ogólnie rzecz biorąc, powinieneś używać tego tylko w przypadku bardzo małych odpowiedzi (takich jak wartość zwracana przez formularz AJAX, jeśli jest to naprawdę proste - po prostu liczba).

  2. HttpResponseRedirect("http://example.com/"):
    stworzy nowy HttpResponse obiektu z kodu HTTP 302 (Found/Przeniesiony tymczasowo). ten powinien być stosowany jedynie w celu przekierowania do innej strony (np po udanej formy POST)

Od docs:

class HttpResponseRedirect Konstruktor przyjmuje jeden argument - ścieżka do przekierowania do. Może to być pełny adres URL: (np. "http://www.yahoo.com/search/") lub bezwzględny URL bez domeny (np. "/ Szukaj /"). Zauważ, że ten zwraca kod stanu HTTP 302.

Dość powiedzieć ...

render_to_response(template[, dictionary][, context_instance][,mimetype])
Renders dany szablon z danym słowniku kontekstowego i zwraca obiektu HttpResponse z tym świadczonych tekst.

to wywołanie renderowania szablonu z podanym słownikiem zmiennych w celu utworzenia odpowiedzi dla użytkownika. To właśnie powinieneś używać w większości przypadków, ponieważ chcesz zachować logikę prezentacji w szablonach, a nie w kodzie.

+1

Parametr render_to_response nie powinien być używany po przetworzeniu testu POST. Po przetworzeniu POST przekierowanie jest lepszym wyborem, ponieważ nie wyświetli komunikatu, że formularz zostanie ponownie przesłany. – cethegeek

+3

Właściwie to napisałem w mojej odpowiedzi ... Odważę to. –

+0

Dzięki mate za szczegółową odpowiedź :) –

Powiązane problemy