Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.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 在Detailview中获取上下文数据函数甚至没有';不能调用,但仍然可以调用上下文_Python_Django - Fatal编程技术网

Python 在Detailview中获取上下文数据函数甚至没有';不能调用,但仍然可以调用上下文

Python 在Detailview中获取上下文数据函数甚至没有';不能调用,但仍然可以调用上下文,python,django,Python,Django,我已经注释掉了get\u context\u data函数(如下),但是在模板中,我仍然可以调用{{object}},有人能解释一下这是如何实现的吗 # def get_context_data(self, *args,**kwargs): # context=super(productdetailview,self).get_context_data(*args,**kwargs) # print(context) # print(self.kwargs.get("pk

我已经注释掉了
get\u context\u data
函数(如下),但是在模板中,我仍然可以调用
{{object}}
,有人能解释一下这是如何实现的吗

# def get_context_data(self, *args,**kwargs):
#     context=super(productdetailview,self).get_context_data(*args,**kwargs)
#     print(context)
#     print(self.kwargs.get("pk"))
#     return context
这里是全部代码

class ProductDetailSlugView(DetailView):
queryset = product.objects.all()
template_name = "product/detail.html"
print(queryset)

# def get_context_data(self, *args,**kwargs):
#     context=super(productdetailview,self).get_context_data(*args,**kwargs)
#     print(context)
#     print(self.kwargs.get("pk"))
#     return context

# def get_context_data(self, *args, **kwargs):
#     context=super(ProductDetailSlugView,self).get_context_data(*args,**kwargs)
#     context['cart']=cart.objects.get_or_create(self.request)
#     # print(context)
#     return context

# def get_object(self, *args,**kwargs):
#     print(args)
#     print(kwargs)
#     pk=self.kwargs.get("pk")
#     slug=self.kwargs.get("slug")
#     print(self.kwargs.get("slug"))
#     print(product.objects.get_by_slug(slug))
#     return product.objects.get_by_slug(slug)

DetailView
继承自
BaseDetailView
它继承自
SingleObjectMixin
where
get\u context\u data
DetailView
继承自
BaseDetailView
它继承自
SingleObjectMixin
where
get\u context\u data
,因为这是DetailView—它将对象传递给模板。如果泛型视图没有内置基本行为,那么它们就没有多大用处。因为这是DetailView的观点——它将对象传递给模板。如果泛型视图中没有内置基本行为,那么它们就没有多大用处。什么样的说明?感谢您的回答,但我需要一些说明:Detailview是从SingleObjectMixin继承的,它具有get_context_data(),在我的类--->Detailview-->SingleObjectMixin中没有调用此函数。如何调用此函数。
get_context_data
BaseDetailView
中调用
get
函数def get(self,request,*args,**kwargs):在BaseDetailView中如何调用,在我的类中我没有调用get_object(),self.object=self.get_object()--因此self.object将不存在
get
在您检索URL时被调用什么样的澄清?感谢您的回答,但我需要一些说明:Detailview是从SingleObjectMixin继承的,它具有get\u context\u data(),在我的类--->Detailview-->SingleObjectMixin中没有调用此函数。如何调用此函数。
get_context_data
BaseDetailView
中调用
get
函数def get(self,request,*args,**kwargs):在BaseDetailView中如何调用,在我的类中我没有调用get_object(),self.object=self.get_object()--因此self.object将为None
get
在检索url时被调用