2016-07-11 2 views
0

Как правильно установить cookie в Django?Проблемы с cookie django

Я попытался это:

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

, а также это:

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

Ни один из них не работает, и я до сих пор понять, почему.

Edit 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') 

так язык сохраняются каждый раз при запуске функции, но печенье не работает должным образом.

+1

Вам нужно будет предоставить более подробную информацию. Что вы делаете с этим ответом? Как вы проверяете, что он «не работает»? –

+0

Вы возвращаете новый объект HttpResponse вместо объекта 're', на который вы устанавливаете cookie ... т. Е. Ваши изменения в' re' отбрасываются. Также нет смысла модифицировать 'request.COOKIES'. Это объект запроса, а не объект ответа. – solarissmoke

+0

solarissmoke Я могу изменить его, чтобы он работал ??? –

ответ

0

Наконец-то я понял, что причина, по которой cookie не установлена, заключается в том, что я не возвращаю свой объект ответа. Вот окончательная версия

re=HttpResponse('/') 
re.set_cookie('language',request.POST.get('lang','')) 
return re 
Смежные вопросы