我的view.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"
它正在提供" "
(空字符串)
请在这方面帮助我
答案 0 :(得分: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}}
解决方案来自here
答案 1 :(得分:1)
请求变量不会自动提供给您的视图。
return render_to_response("search.html", {"request":request})
答案 2 :(得分:0)
您应该尝试在视图中获取Cookie并传入模板或将request
变量传递给模板。
另一种方法是启用request context processor,以便模板中默认提供request
变量。