【问题标题】:Problems with django cookiesdjango cookie 的问题
【发布时间】:2016-11-13 19:46:34
【问题描述】:

如何在 Django 中正确设置 cookie?

我试过这个:

 re=HttpResponse('Hello world')
 re.set_cookie('key','value')

还有这个:

 request.COOKIES['key']='value'

这些都不起作用,我还没有弄清楚原因。

编辑 1 到目前为止,我的代码如下所示:

 lang=UserData.objects.get(user_id=request.user.id)  
 lang.pref_language=request.POST.get('lang','')  
 re=HttpResponse('Hello world') 
 re.set_cookie('dddd',request.POST.get('lang','') )
 request.COOKIES['ffff']=request.POST.get('lang','')           
 lang.save()
 return HttpResponse('Updated') 

所以每次函数运行时都会保存语言,但 cookie 无法正常工作。

【问题讨论】:

  • 您需要提供更多详细信息。你对那个回复做了什么?您如何验证它“不工作”?
  • 您正在返回一个新的 HttpResponse 对象,而不是您在其上设置 cookie 的 re 对象......即,您对 re 的修改将被丢弃。也没有必要修改request.COOKIES。那是一个请求对象,而不是响应对象。
  • solarissmoke 我可以修改它以使其工作吗???

标签: python django cookies browser


【解决方案1】:

最后我发现没有设置 cookie 的原因是我没有返回我的响应对象。这是最终版本

re=HttpResponse('/')  
re.set_cookie('language',request.POST.get('lang','') ) 
return re

【讨论】:

    猜你喜欢
    • 2011-07-04
    • 1970-01-01
    • 2011-08-09
    • 2014-10-09
    • 2023-03-28
    • 2012-02-27
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多