2016-09-24 3 views
0

Я пытаюсь установить cookie в виде, используя следующий код.Настройка файла cookie в представлении Django

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', {}) 

Когда вид загружен, консоль печатает NOT SET, что означает, что печенье не был установлен. В каждом учебнике/документе этот метод используется. Однако для меня это просто не работает:/

Любая помощь? Я использую Django 1.9.8, и я запускаю приложение на своем локальном сервере, или 127.0.0.1:8000.

ответ

3

Вы создаете ответ и устанавливаете на нем файл cookie, но тогда вы фактически ничего не делаете с этим ответом. Ярлык render создает свой собственный ответ, который фактически отправляется обратно в браузер.

Вы должны захватить возвращаемое значение визуализации, и установить куки в том, что:

if 'name' in request.COOKIES: 
    print "SET" 
else: 
    print "NOT SET" 
resp = render(request, 'myapp/base.html', {}) 
resp.set_cookie('name', 'value') 
return resp 
+0

Это имеет смысл и работы. Большое спасибо человеку. –

Смежные вопросы