7

我的代码是这样的:我自定义了我的上下文并想访问我在模板中设置的查询

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 之类的自定义属性,如何访问查询数据?

4

1 回答 1

9

正如这里所写默认的上下文变量ListViewobjects_list

所以在模板中可以访问如下:

{% for obj in objects_list%}
   {{obj.some_field}}
{% endfor %}

此外,它可以使用context_object_name参数手动设置(如您的示例中所示):

class GetStudentQueryHandler(ListView):
    # ...
    context_object_name = 'studentinfo'
    # ...

在模板中:

{% for obj in studentinfo %}
   {{obj.some_field}}
{% endfor %}

can_show_distribute要从模板中的上下文访问额外添加的字段:

{{ can_show_distribute }}
于 2013-05-09T09:12:55.843 回答