Задать вопрос
@ooker

Пагинация в ListView Django?

Добрый день! Не могу понять как на странице вывести миксин из статей по дате добавления с пагинацией. Вывожу циклом но пагинация работает только для основной модели. Инфы в интернете нет. Голову сломал. Кто то сталкивался?
from django.core.paginator import Paginator
from django.views.generic import ListView, DetailView
from .models import *


# Главная страница блога (статьи и реклама)
class BlogArticlesMainPage(ListView):
    model = BlogArticlesHairCut
    template_name = "blog/blog.html"
    paginate_by = 4

    def get_context_data(self, **kwargs):
        context = super(BlogArticlesMainPage, self).get_context_data(**kwargs)
        context['makeup'] = BlogArticlesMakeUp.objects.all()  # Макияж модель
        paginator = Paginator(BlogArticlesMakeUp, self.paginate_by)
        page = self.request.GET.get('page')
        context['nails'] = BlogArticlesNails.objects.all()  # Маникюр модель
        context['depil'] = BlogArticlesDepil.objects.all()  # Депиляция модель
        context['spa'] = BlogArticlesSpa.objects.all()  # Спа услуги модель
        context['tatoo'] = BlogArticlesTatoo.objects.all()  # Тату услуги модель
        context['block1promo'] = BlogBlock1.objects.all()  # Реклама шапка
        context['block2promo'] = BlogBlock2.objects.all()  # Реклама центр1
        context['block3promo'] = BlogBlock3.objects.all()  # Реклама центр2
        return context
  • Вопрос задан
  • 783 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@noremorse_ru
Для главной страницы я бы все же взял что-то типа View, ListView хорош, если тебе нужно получить только 1 кверисет, а у тебя их гора. Ну и если ты посмотришь как работает класс Paginator, то увидишь что он принимает кверисет, а не класс. А работает пагинация только благодаря context = super(BlogArticlesMainPage, self).get_context_data(**kwargs), который выполнил код родительского класса
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы