dar*_*rse 1 python django cookies
我正在尝试使用以下代码在视图中设置 cookie。
def index(request):
resp = HttpResponse("Setting a cookie")
resp.set_cookie('name', 'value')
if 'name' in request.COOKIES:
print "SET"
else:
print "NOT SET"
return render(request, 'myapp/base.html', {})
Run Code Online (Sandbox Code Playgroud)
加载视图时,控制台会打印出NOT SET,这意味着未设置 cookie。在每个教程/文档中,这似乎是使用的方法。但是,它对我来说根本不起作用:/
有什么帮助吗?我正在使用 Django 1.9.8,并且我正在本地服务器上运行该应用程序,或者127.0.0.1:8000.
您正在创建一个响应并在其上设置一个 cookie,但实际上您并未对该响应执行任何操作。该render快捷方式创建自己的响应这实际上是发送回浏览器中的一个。
您应该从渲染中捕获返回值,并在其上设置 cookie:
if 'name' in request.COOKIES:
print "SET"
else:
print "NOT SET"
resp = render(request, 'myapp/base.html', {})
resp.set_cookie('name', 'value')
return resp
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2793 次 |
| 最近记录: |