get_对象返回的Django上下文
在模板中,我有两个相同的上下文:get_对象返回的Django上下文,django,django-models,django-templates,django-views,django-class-based-views,Django,Django Models,Django Templates,Django Views,Django Class Based Views,在模板中,我有两个相同的上下文: class ListDetailView(DetailView): context_object_name = 'aaaa' def get_object(self, queryset=None): return List.objects.get(unique_list_id=self.kwargs['unique_list_id']) 如何重写get_object()以仅返回由context_object_name='aaa
class ListDetailView(DetailView):
context_object_name = 'aaaa'
def get_object(self, queryset=None):
return List.objects.get(unique_list_id=self.kwargs['unique_list_id'])
如何重写get_object()以仅返回由context_object_name='aaaa'
指定的上下文?
为什么我有两个上下文?这不是由的决定,而是由的实现决定的。事实上,对于继承自
话虽如此,我认为删除它没有任何好处。它指的是同一个对象。查询不会执行两次:这是上下文中引用对象的两个名称。它使上下文更加统一,这样基础模板也可以处理对象
值
请注意,即使删除此项,您仍然可以通过以下方式访问对象:
class ListDetailView(DetailView):
context_object_name = 'aaaa'
def get_context_data(self, *args, **kwargs):
context = super().get_context_data(*args, **kwargs)
context.pop('object', None)
return context
def get_object(self, queryset=None):
return List.objects.get(unique_list_id=self.kwargs['unique_list_id'])
{{view.object.list_name}
由于get\u context\u name的基本实现将view
变量添加到引用该视图构造的实例的上下文中。这不是由的确定,而是由的实现确定的。事实上,对于继承自
话虽如此,我认为删除它没有任何好处。它指的是同一个对象。查询不会执行两次:这是上下文中引用对象的两个名称。它使上下文更加统一,这样基础模板也可以处理对象
值
请注意,即使删除此项,您仍然可以通过以下方式访问对象:
class ListDetailView(DetailView):
context_object_name = 'aaaa'
def get_context_data(self, *args, **kwargs):
context = super().get_context_data(*args, **kwargs)
context.pop('object', None)
return context
def get_object(self, queryset=None):
return List.objects.get(unique_list_id=self.kwargs['unique_list_id'])
{{view.object.list_name}
因为get\u context\u name
的基本实现将把view
变量添加到引用视图构造的实例的上下文中
class ListDetailView(DetailView):
context_object_name = 'aaaa'
def get_context_data(self, *args, **kwargs):
context = super().get_context_data(*args, **kwargs)
context.pop('object', None)
return context
def get_object(self, queryset=None):
return List.objects.get(unique_list_id=self.kwargs['unique_list_id'])
{{ view.object.list_name }}