#python #django #django-pagination
#python #django #django-разбивка на страницы
Вопрос:
Я использовал следующий код из документации Django, и по какой-то причине код не работает
<div class="pagination">
<span class="step-links">
{% if productsList.has_previous %}
<a href="?page=1">amp;laquo; first</a>
<a href="?page={{ products.previous_page_number }}">previous</a>
{% endif %}
<span class="current">
Page {{ productsList.number }} of {{ productsList.paginator.num_pages }}.
</span>
{% if productsList.has_next %}
<a href="?page={{ productsList.next_page_number }}">next</a>
<a href="?page={{ productsList.paginator.num_pages }}">last amp;raquo;</a>
{% endif %}
</span>
</div>
Когда я захожу на страницу, я получаю сообщение об ошибке :
__init__() missing 2 required positional arguments: 'number' and 'paginator'
Странно!
Я также пробовал передавать URL с аргументом page, но это все еще не работает!
def products(request):
products_first_ten = Products.objects.order_by('productid')[:100]
products_List = []
for product in products_first_ten:
book = Books.objects.get(productid = product.productid)
products_List.append(book)
paginator = Paginator(products_List, 10) # Show 25 contacts per page
page = request.GET.get('page', 1)
try:
products_List = paginator.page(page)
except PageNotAnInteger:
products_List = paginator.page(1)
except EmptyPage:
products_List = paginator.page(paginator.num_pages)
return render(
request, 'catalog/products.html',
context =
{
'productsList' : products_List
}
)
Комментарии:
1. Покажите свой
view
код.2. Вам нужно показать полную ошибку. К какому init это относится?
3. Проблема решена! У меня возникла проблема с одной из переменных! Спасибо!