ListView 中的 Django 分页引发错误 "Slice"
Django pagination in ListView raise Error "Slice"
我想在我的页面上显示分页,但我注意到当我添加“paginate_by”时出现错误“slice”
class BookNotLogged(generic.ListView):
template_name="BookNotLogged.html"
context_object_name='listofBook'
paginate_by = 2 #when i add this its raise me error
model = Book
queryset = Book.objects.all()
def get_queryset(self):
context={
'book1':Book.objects.get(id="2"),
'book2':Book.objects.get(id="3"),
'book3':Book.objects.get(id="4"),
'book4':Book.objects.get(id="8"),
'book5':Book.objects.get(id="9"),
'book6':Book.objects.get(id="10"),
'book7':Book.objects.get(id="11"),
'book8':Book.objects.get(id="12"),
'book9':Book.objects.get(id="13")
}
return context
get_queryset
用于return 自定义查询集而不是上下文。要获取上下文,您必须重写 get_context_data
,因此将 get_queryset
重命名为 get_context_data
,如下所示:
class BookNotLogged(generic.ListView):
# rest of code
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context.update({
'book1':Book.objects.get(id="2"),
'book2':Book.objects.get(id="3"),
'book3':Book.objects.get(id="4"),
'book4':Book.objects.get(id="8"),
'book5':Book.objects.get(id="9"),
'book6':Book.objects.get(id="10"),
'book7':Book.objects.get(id="11"),
'book8':Book.objects.get(id="12"),
'book9':Book.objects.get(id="13"),
})
return context
我想在我的页面上显示分页,但我注意到当我添加“paginate_by”时出现错误“slice”
class BookNotLogged(generic.ListView):
template_name="BookNotLogged.html"
context_object_name='listofBook'
paginate_by = 2 #when i add this its raise me error
model = Book
queryset = Book.objects.all()
def get_queryset(self):
context={
'book1':Book.objects.get(id="2"),
'book2':Book.objects.get(id="3"),
'book3':Book.objects.get(id="4"),
'book4':Book.objects.get(id="8"),
'book5':Book.objects.get(id="9"),
'book6':Book.objects.get(id="10"),
'book7':Book.objects.get(id="11"),
'book8':Book.objects.get(id="12"),
'book9':Book.objects.get(id="13")
}
return context
get_queryset
用于return 自定义查询集而不是上下文。要获取上下文,您必须重写 get_context_data
,因此将 get_queryset
重命名为 get_context_data
,如下所示:
class BookNotLogged(generic.ListView):
# rest of code
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context.update({
'book1':Book.objects.get(id="2"),
'book2':Book.objects.get(id="3"),
'book3':Book.objects.get(id="4"),
'book4':Book.objects.get(id="8"),
'book5':Book.objects.get(id="9"),
'book6':Book.objects.get(id="10"),
'book7':Book.objects.get(id="11"),
'book8':Book.objects.get(id="12"),
'book9':Book.objects.get(id="13"),
})
return context