1

私のview.py

def search(request):
    res = HttpResponse('Setting Response');
    res.set_cookie("name","abcd")
    return render_to_response("search.html", {"res":res})

私の検索.html

<html>
<body>
<h1>{{res.COOKIES.name}}</h1>
</body>
</html>

でも{{request.COOKIES.name}}動作していません。"abcd"与えられている値を取得できません" "(空の文字列)

この点で私を助けてください

4

3 に答える 3

4

これを試して:

from django.shortcuts import render
...
return render(request, "search.html", {"res":res})

したがって、リクエストインスタンスはテンプレートで利用可能になります

アップデート:

目標がCookieを設定し、それをテンプレートで取得することである場合は、次に実行できます。

from django.shortcuts import render

def search(request):
    response = render(request, "search.html")
    # render function returns a HttpResponse object
    response.set_cookie("name","abcd")
    return response

次に、テンプレートで:

{{request.COOKIES.name}}

解決策はここから来ました

于 2012-08-21T10:23:40.547 に答える
1

request 変数は、ビューで自動的に使用できるわけではありません。

return render_to_response("search.html", {"request":request})
于 2012-08-21T10:02:25.010 に答える
0

ビューで Cookie を取得してテンプレートに渡すか、request変数をテンプレートに渡す必要があります。

もう 1 つの方法は、リクエスト コンテキスト プロセッサrequestを有効にして、テンプレートでデフォルトで変数を使用できるようにすることです。

于 2012-08-21T09:59:11.173 に答える