1
我的IDE(PyCharm)持續報告:基於函數的通用視圖已被棄用。切換到基於類的list_detail
我在導入列表如下聲明:
from django.views.generic.list_detail import object_list
而我的看法如下所示:
def category(request, id, slug=None):
category = Category.objects.get(pk=id)
books = Book.objects.filter(
Q(status = 1) & Q(category=category)
).order_by('-id')
s = Poet.objects.order_by('?')[:3]
return object_list(
request,
template_name = 'books/categories/show.html',
queryset = books,
paginate_by = 99,
extra_context = {
'category': category,
'suggestions': s,
'bucket_name': config.BOOKS_BUCKET_NAME,
}
)
我發現SO this,但該文檔似乎在這個過於複雜看待。
關於如何我可以轉換我的代碼的任何提示,將不勝感激。
由於有一個自定義分頁:{%如果is_paginated%} {%負載分頁程序%} {%分頁程序3%} {%ENDIF%}。 ..和paginator.py自定義模板標籤我有def paginator(上下文,adjacent_pages = 2,is_random = False):此函數的第一行是startPage = max(context ['page'] - adjacent_pages,1)。它給出以下錯誤:例外類型:\t KeyError 例外值:\t 'page'。怎麼了? –
嘗試使用max(context ['page_obj'])..而不是max(context ['page'])並查看它是如何去的 – ppetrid
我得到:不支持的操作數類型爲 - :'Page'和'int 」。這是我的代碼:http://bpaste.net/show/Puu0jMqkGcUqy1N9vXwH/ –