我想在视图中设置一个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