我想在視圖中設置一個cookie,然後讓該視圖呈現一個模板。據我所知,這是設置cookie的方式:如何在Django中設置cookie然後呈現模板?
def index(request):
response = HttpResponse('blah')
response.set_cookie('id', 1)
return response
不過,我想設置一個cookie,然後呈現一個模板,像這樣:
def index(request, template):
response_obj = HttpResponse('blah')
response_obj.set_cookie('id', 1)
return render_to_response(template, response_obj) # <= Doesn't work
模板將包含鏈接,點擊後將執行其他視圖,檢查我設置的cookie。什麼是正確的方式來做我在上面的第二個例子中顯示的?我明白我可以創建一個包含我的模板的所有HTML的字符串,並將該字符串作爲參數傳遞給HttpResponse,但看起來真的很難看。沒有更好的方法來做到這一點?謝謝。
你首先實例化一個HttpResponse,但什麼也不做。 'render'返回一個響應,您將其分配到相同的變量上,然後在該變量上設置cookie並最終返回。您的答案將與「response = HttpResponse()」行一致。 –
我可能誤解了一些東西,但不是「在渲染模板之前如何設置cookie *」的問題? – vmonteco