2
我的代碼是這樣的: 我定製我的背景和要訪問我的查詢在模板中設置Django的訪問上下文
class GetStudentQueryHandler(ListView):
template_name = 'client.html'
paginate_by = STUDENT_PER_PAGE
context_object_name = 'studentinfo'
def get_context_data(self, **kwargs):
context = super(GetStudentQueryHandler, self).get_context_data(**kwargs)
context['can_show_distribute'] = self.request.user.has_perm('can_show_distribute_page')
context['form'] = QueryStudentForm
return context
def get_queryset(self):
的問題是:如何訪問由get_queryset方法返回的查詢集模板? 我知道我可以訪問像studentinfo.can_show_distribute這樣的自定義屬性,如何訪問查詢數據?
我知道,但我customed我的上下文中get_context_data方法,我添加了「can_show_distribute」,恐怕領域如果我用for循環,我也將訪問自定義字段,但我只想顯示get_queryset方法返回的數據。 – 2013-05-09 09:16:00
嗯,你已經這樣做了:'context = super(GetStudentQueryHandler,self).get_context_data(** kwargs)'。所以你的上下文將包括所有'ListView'添加的字段。要從模板訪問'can_show_distribute',你應該這樣做:'{{can_show_distribute}}',而不是這個:'{{studentinfo.can_show_distribute}}' – stalk 2013-05-09 09:21:02
所以你的意思是「studentinfo」對象只代表get_queryset返回的查詢集方法?好的,我會試一試,如果有效的話,我會接受你的回答,謝謝 – 2013-05-09 09:23:24