我正在使用Django tabination来显示使用基于类的视图的几个选项卡 . 用于显示选项卡的所有类都继承自MainNavigationBaseTab类:
class MainNavigationBaseTab(TabView):
"""Base class for all main navigation tabs."""
tab_group = 'main_navigation'
tab_classes = ['main-navigation-tab']
def get_context_data(self, **kwargs):
context = super(MainNavigationBaseTab, self).get_context_data(**kwargs)
context['main'] = 'maintenance'
return context
@property
def tab_classes(self):
"""If user is logged in, set ``logged_in_only`` class."""
classes = super(MainNavigationBaseTab, self).tab_classes[:]
if self.current_tab.request.user.is_authenticated():
classes += ['logged_in_only']
return classes
在其中一个选项卡中,我想显示从ListView类派生的联系人列表:
class ListContactView(ListView):
model = Contact
template_name = 'main_tab.html'
我的方法是从MainNavigationBaseTab和ListContactView派生MainTab类:
class MainTab(ListContactView, MainNavigationBaseTab):
_is_tab = True
tab_id = 'main'
tab_label = _('Main')
template_name = 'main_tab.html'
但是我使用这种方法的问题是在错误的类上调用了get_context_data()方法,当我尝试显示选项卡时,在上下文中找不到object_list . 以下是我收到的完整错误消息:
回溯:get_response中的文件“/usr/lib/python2.7/site-packages/django/core/handlers/base.py”149. response = self.process_exception_by_middleware(e,request)File“/ usr / lib / python2 .7 / site-packages / django / core / handlers / base.py“在get_response 147. response = wrapped_callback(request,* callback_args,** callback_kwargs)File”/usr/lib/python2.7/site-packages/django /views/generic/base.py“在视图68中 . 返回self.dispatch(request,* args,** kwargs)文件”/usr/lib/python2.7/site-packages/django/views/generic/base . py“in dispatch 88. return handler(request,* args,** kwargs)file”/usr/lib/python2.7/site-packages/django/views/generic/base.py“in get 157. context = self .get_context_data(** kwargs)get_context_data中的文件“/home/.../views.py”27. context = super(PatientListView,self).get_context_data(** kwargs)File“/ home /.../views . py“in get_context_data 37. context = super(MainNavigationBaseTab,self).get_context_data(** kwargs)File”/usr/lib/python2.7/site-packages/tabination/views.py“在get_context_data 145中.context = super(TabView,self).get_context_data(** kwargs)文件“/usr/lib/python2.7/site-packages/django/views/generic/list.py”在get_context_data中130. queryset = kwargs.pop('object_list',self.object_list)异常类型:/ mainview中的AttributeError /异常值:'MainTab'对象没有属性'object_list'
有人能告诉我如何使用存储在Django列表数据库中的模型显示联系人列表吗?
谢谢波格丹