Django:如何在基于类的视图中设置(永久)cookie和临时会话?
我在我的Django应用中使用基于类的视图,返回一个render()函数,并传入所需的上下文,像这样:
class SignUpView(View):
def get(self, request):
# code...
template = 'pages_fixed/accounts/' + insights.get_user_funnel( self, 'signup_page' )
context = {
'plans': plans,
'form': form,
'restore_inputs': self.request.session['restore_inputs'],
}
return render( request, template, context )
我已经在使用Django的后端会话机制来存储各种数据,并设置了过期时间(这些数据需要过期)。
此外,我还需要能够设置一个单独的、更加持久的cookie,并且能够在之后读取它。我找到了一篇关于如何使用响应对象来实现的帖子,但我该如何在基于类的视图中构建它呢?我不太确定从哪里开始,也没有在文档中看到任何例子?这样做可能吗?
1 个回答
1
这里没有什么复杂的内容,也没有因为你使用了基于类的视图而有所不同。实际上,你使用基于类的视图的方式几乎和使用基于函数的视图完全一样,你可以用完全相同的方法在响应中设置 cookie。
response = render(request, template, context)
response.set_cookie('my_cookie', 'my_cookie_value')
return response