在ListView中打印`object_list`

时间:2017-11-07 08:10:27

标签: django

我在views.py中有以下课程:

class RestaurantListView(LoginRequiredMixin, ListView):
    def get_queryset(self):
        qs = RestaurantLocation.objects.filter(owner=self.request.user)
        return  qs
restaurantlocation_list.html

中的

<ul>
        {% for obj in object_list  %}
            <li>obj</li>
        {% endfor %}
</ul>

我想通过添加object_list语句在views.py内打印print

class RestaurantListView(LoginRequiredMixin, ListView):
    def get_queryset(self):
        qs = RestaurantLocation.objects.filter(owner=self.request.user)

添加打印声明:

    print(object_list)
    return  qs

错误报告:

NameError: name 'object_list' is not defined

让我感到困惑的是template从视图中接收参数,而在视图中无法获取参数? 如何在views.py中打印object_list

1 个答案:

答案 0 :(得分:0)

在视图中,HTML模板的上下文变量存储在字典中。在您的CBV中,您应该通过self.object_list访问它。

确保在调用get_context_data()后调用它。更好的是,如果要转储数据仅用于调试,请覆盖get_context_data()并将其打印出来。

https://ccbv.co.uk/projects/Django/1.11/django.views.generic.list/ListView/