1

我的观点.py

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

我的 search.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变量传递给模板。

另一种方法是启用请求上下文处理器,以便该request变量在模板中默认可用。

于 2012-08-21T09:59:11.173 回答