Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django中基于类的泛型视图中插入request.session_Python_Django_Session_Detailview - Fatal编程技术网

Python 在Django中基于类的泛型视图中插入request.session

Python 在Django中基于类的泛型视图中插入request.session,python,django,session,detailview,Python,Django,Session,Detailview,我正在尝试使用request.session创建一个“最近”的会话密钥,并添加用户访问的产品页面,以使其在模板中可访问,这是我的观点,你们会推荐什么,我似乎不能这样做 class ProductDetail(DetailView): model = Producto template_name = 'productos/product_detail.html' def get_context_data(self, **kwargs): # Call th

我正在尝试使用request.session创建一个“最近”的会话密钥,并添加用户访问的产品页面,以使其在模板中可访问,这是我的观点,你们会推荐什么,我似乎不能这样做

class ProductDetail(DetailView):
    model = Producto
    template_name = 'productos/product_detail.html'

    def get_context_data(self, **kwargs):
        # Call the base implementation first to get a context
        context = super(ProductDetail, self).get_context_data(**kwargs)
        # Add in a QuerySet of featured products
        context['product_list'] = Producto.objects.filter(featured=True).exclude(pk=self.object.pk)
        return context

谢谢你的帮助

感谢Daniel Roseman澄清了如何从基于类的泛型视图调用会话

class ProductDetail(DetailView):
    model = Producto
    template_name = 'productos/product_detail.html'

    def get_context_data(self, **kwargs):
        # Call the base implementation first to get a context
        context = super(ProductDetail, self).get_context_data(**kwargs)
        if not 'recent' in self.request.session or not self.request.session['recent']:
            self.request.session['recent'] = [self.object.pk]
        else:
            recentList = self.request.session['recent']
            recentList.append(self.object.pk)
            self.request.session['recent'] = recentList
        # Add in a QuerySet of featured products
        context['product_list'] = Producto.objects.filter(featured=True).exclude(pk=self.object.pk)
        context['recent_list'] = Producto.objects.filter(pk__in=recentList)
        return context

你到底有什么问题?您有向上下文添加项的方法。你的问题是什么?很抱歉我不清楚,我似乎无法处理视图中的会话对象它只是
self.request.session