Tôi muốn đặt cookie bên trong chế độ xem và sau đó có chế độ xem đó hiển thị mẫu. Theo tôi được biết, đây là cách để thiết lập một cookie:Làm thế nào để thiết lập cookie trong Django và sau đó làm mẫu?
def index(request):
response = HttpResponse('blah')
response.set_cookie('id', 1)
return response
Tuy nhiên, tôi muốn thiết lập một cookie và sau đó làm cho một mẫu, một cái gì đó như thế này:
def index(request, template):
response_obj = HttpResponse('blah')
response_obj.set_cookie('id', 1)
return render_to_response(template, response_obj) # <= Doesn't work
Mẫu sẽ chứa liên kết, khi được nhấp vào sẽ thực hiện các chế độ xem khác kiểm tra cookie tôi đang thiết lập. Cách chính xác để làm những gì tôi đã thể hiện trong ví dụ thứ hai ở trên là gì? Tôi hiểu rằng tôi có thể tạo một chuỗi chứa tất cả HTML cho mẫu của tôi và chuyển chuỗi đó làm đối số cho HttpResponse nhưng điều đó có vẻ thực sự xấu. Không có cách nào tốt hơn để làm điều này? Cảm ơn.
Bạn khởi tạo một HttpResponse đầu tiên nhưng không làm gì với nó. 'render' trả về một phản hồi, mà bạn gán vào cùng một biến mà sau đó bạn đặt cookie và cuối cùng bạn quay trở lại. Câu trả lời của bạn sẽ tương đương với dòng 'response = HttpResponse()' bị loại bỏ. –
Tôi có thể đã hiểu nhầm điều gì đó, nhưng không phải là câu hỏi "cách đặt cookie * trước * hiển thị mẫu"? – vmonteco