在Django中,我尝试使用此代码渲染模板并同时发送cookie:
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))
但我收到错误:
/ myapp / list /
上的TypeErrorset_cookie()缺少1个必要的位置参数:' self'
我检查了documentation,但我没有找到解决方案。 请帮帮我:)。
答案 0 :(得分:3)
关闭 - HttpResponse是类,而不是类的实例。最后一行是创建一个并返回它 - 所以你的早期行需要对该实例进行操作...
尝试(未经测试的代码):
myResponse = HttpResponse(template.render(context, request))
myResponse.set_cookie(...)
return myResponse
答案 1 :(得分:-1)
def setcookie(request):
html=HttpResponse( '<h1>Salom Django</h1>')
html.set_cookie(key='user',value='Hello,you just configured your first Cookie',max_age=None)
return html