Сколько искала, не нашла в интернете структуру, которую хочу получить.
В чем суть - хочу создать каталог книг, в котором будет выводиться по 5 элементов на странице. Можно ли это сделать более оптимальным способом, чем расписыванием каждой страницы каталога с перечислением pk именно тех элементов, которые необходимо вывести на каждой странице? И возможно ли сделать автоматическое добавление новых страниц (в том числе чтобы они отображались в html), если текцщих не хватает для отображения всего каталога?
Модель книги:
class Book(models.Model):
author = models.CharField(max_length=300, verbose_name="Автор", null=True, blank=True)
title = models.CharField(max_length=300, verbose_name="Заголовок")
published_year = models.IntegerField(verbose_name="Год публикации")
published_town = models.CharField(max_length=100, verbose_name="Город публикации")
imprint = models.CharField(max_length=200, verbose_name="Издательство", null=True, blank=True)
pages = models.IntegerField(verbose_name="Количество страниц", null=True, blank=True)
image = models.CharField(max_length=300, verbose_name="Изображение", null=True, blank=True)
def __str__(self):
return self.title
Рендер:
def catalog(request):
books = Book.objects.all()
return render(request, 'history/catalog.html', {'books': books})
Вывод книг в HTML:
{% for book in books %}
<p>{{ book.title }}</p>
<p>{{ book.author }}</p>
{% endfor %}