2016-10-14 6 views
1

В Django, Im пытаемся сделать шаблон и отправить печенье одновременно с этим кодом:set_cookie() отсутствует 1 требуемые позиционная аргумент: «я»

template = loader.get_template('list.html') 
context = {'documents': documents, 'form': form} 

if ('user') not in request.COOKIES: 
    id_user = ''.join(random.SystemRandom().choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(30)) 
    HttpResponse.set_cookie(key='user', value=id_user, max_age=63072000) 

return HttpResponse(template.render(context, request)) 

Но я получаю ошибку:

TypeError at /myapp/list/

set_cookie() missing 1 required positional argument: 'self'

Я проверил documentation, но я не нашел решение. Помогите мне пожалуйста :)

+1

В этой строке: 'HttpResponse.set_cookie (ключ = 'user', value = id_user, max_age = 63072000) 'является HttpResponse классом или экземпляром класса (объекта)? –

ответ

3

Закрыть - HttpResponse - это класс, а не экземпляр класса. Последняя строка создает один и вернуть его - так более ранняя линия должна действовать на этом экземпляре ...

попытка (непроверенный код):

myResponse = HttpResponse(template.render(context, request)) 
myResponse.set_cookie(...) 
return myResponse 
+1

Спасибо, работа! Я всегда возился с ответами ... – Rashomon

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