Django:除了临时会话之外,如何在基于类的视图中设置(永久)cookie?

时间:2014-06-11 04:17:27

标签: python django cookies

我在我的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 个答案:

答案 0 :(得分:1)

这里没有什么复杂的,当然没有什么不同,因为你使用的是基于类的视图。实际上,您使用CBV的方式几乎与基于函数的视图完全相同,您可以以完全相同的方式在响应上设置cookie。

response = render(request, template, context)
response.set_cookie('my_cookie', 'my_cookie_value')
return response