Встречается на собеседованиях • сегодня
Как устроена пагинация в Django
В Django пагинация реализуется через класс `Paginator` из модуля `django.core.paginator`. Основные шаги:
1. Создаем объект `Paginator`, передавая QuerySet и количество элементов на страницу:
```python
from django.core.paginator import Paginator
queryset = MyModel.objects.all()
paginator = Paginator(queryset, 25) # 25 элементов на страницу
```
2. Получаем нужную страницу по номеру:
```python
page_number = request.GET.get('page')
page_obj = paginator.get_page(page_number)
```
3. В шаблоне используем методы page_obj:
```html
{% for item in page_obj %}
{{ item }}
{% endfor %}
```
Ключевые особенности:
- Автоматически обрабатывает невалидные номера страниц
- Поддерживает методы `has_previous()`, `has_next()`, `previous_page_number()`, `next_page_number()`
- Можно настроить параметр GET (по умолчанию 'page')
- Работает как с QuerySet, так и со списками

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы