Вышеупомянутые вещи дают мне, почти те же результаты задавались вопросом, каково основное различие в них.
response = HttpResponse («Вот текст веб-страницы.»)
:
создаст новый объект HttpResponse
с кодом HTTP 200 (OK), а его содержимое будет передано конструктору. В общем, вы должны использовать это только для действительно небольших ответов (например, возвращаемого значения формы AJAX, если это действительно просто - просто число или около того).
HttpResponseRedirect ("http://example.com/")
:
создаст новый объект HttpResponse
с кодом HTTP 302 (временно найдено / перемещено). Это должно использоваться только для перенаправления на другую страницу (например, после успешной формы POST)
Из документации:
класс HttpResponseRedirect
Конструктор принимает единственный аргумент - путь для перенаправления. Это может быть полный URL (например, " http://www.yahoo.com/search/ ") или абсолютный URL без домена (например, "/ search /"). Обратите внимание, что это возвращает код состояния HTTP 302.
достаточно сказано ...
render_to_response (template [, dictionary] [, context_instance] [, mimetype])
Отображает данный шаблон с заданным контекстным словарем и возвращает объект HttpResponse с этим отображаемый текст.
- это вызов для визуализации шаблона с заданным словарем переменных для создания ответа за вас. Это то, что вы должны использовать большую часть времени , потому что вы хотите сохранить логику представления в шаблонах, а не в коде.