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
whereget\u context\u data
DetailView
继承自BaseDetailView
它继承自SingleObjectMixin
whereget\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将为Noneget
在检索url时被调用