2009-12-17 38 views

Trả lời

52
  1. response = HttpResponse("Here's the text of the Web page."):
    sẽ tạo ra một đối tượng HttpResponse mới với mã HTTP 200 (OK), và nội dung truyền cho constructor. Nói chung, bạn chỉ nên sử dụng điều này cho các phản hồi thực sự nhỏ (như một giá trị trả về biểu mẫu AJAX, nếu nó thực sự đơn giản - chỉ là một số hoặc hơn).

  2. HttpResponseRedirect("http://example.com/"):
    sẽ tạo đối tượng HttpResponse mới với mã HTTP 302 (Đã tìm thấy/Đã tạm thời di chuyển). này nên được sử dụng chỉ để chuyển hướng đến một trang khác (ví dụ như sau khi thành công hình thức POST)

Từ các tài liệu:

class HttpResponseRedirect Các nhà xây dựng phải mất một đối số duy nhất - con đường để chuyển hướng đến. Đây có thể là URL đủ điều kiện (ví dụ: 'http://www.yahoo.com/search/') hoặc URL tuyệt đối không có miền (ví dụ: '/ search /'). Lưu ý rằng này trả về một mã trạng thái HTTP 302.

đủ nói ...

render_to_response(template[, dictionary][, context_instance][,mimetype])
Hiển thị đường mẫu được đưa ra với một cuốn từ điển bối cảnh nhất định và trả về một đối tượng HttpResponse với điều đó render bản văn.

là cuộc gọi để hiển thị mẫu có từ điển nhất định của biến để tạo phản hồi cho bạn. Đây là những gì bạn nên sử dụng hầu hết thời gian, bởi vì bạn muốn giữ logic trình bày của bạn trong các mẫu và không phải trong mã.

+1

render_to_response không nên được sử dụng sau khi xử lý POST. Sau khi POST xử lý một chuyển hướng là một lựa chọn tốt hơn bởi vì nó sẽ không hiển thị thông báo nói rằng biểu mẫu sẽ được gửi lại. – cethegeek

+3

Tôi thực sự đã viết rằng trong câu trả lời của tôi ... Tôi sẽ in đậm nó. –

+0

Cảm ơn bạn đời vì câu trả lời chi tiết :) –

Các vấn đề liên quan