ビュー内にクッキーを設定し、そのビューにテンプレートをレンダリングさせたいとします。私はそれを理解するように、これはクッキーを設定する方法です:テンプレートが含まれていますDjangoでクッキーを設定してからテンプレートをレンダリングする方法は?
def index(request, template):
response_obj = HttpResponse('blah')
response_obj.set_cookie('id', 1)
return render_to_response(template, response_obj) # <= Doesn't work
:
def index(request):
response = HttpResponse('blah')
response.set_cookie('id', 1)
return response
はしかし、私はクッキーを設定し、テンプレート、このような何かをレンダリングしたいですリンクをクリックすると、私が設定しているクッキーをチェックする他のビューが実行されます。上記の2番目の例で示したことを行う正しい方法は何ですか?私は私のテンプレートのすべてのHTMLを含む文字列を作成し、その文字列をHttpResponseの引数として渡すことができると理解していますが、それは本当に醜いようです。これを行う良い方法はありませんか?ありがとう。
最初にHttpResponseをインスタンス化しますが、何もしません。 'render'はレスポンスを返します。レスポンスは、クッキーを設定した同じ変数に代入し、最後に返します。あなたの答えは、 'response = HttpResponse()'行が削除されたのと同等です。 –
私は何か誤解しているかもしれませんが、「テンプレートをレンダリングする前に*クッキーを設定する方法」という質問ではありませんでしたか? – vmonteco