#django #django-views
#django #django-просмотры
Вопрос:
Я сделал комментарий и комментарии в статье (DetailView) Как я могу разбить на страницы эти комментарии в DetailView. Я перепробовал много вариантов, но без успеха…
число просмотров:
class ArticleDetailView(FormMixin, HitCountDetailView):
template_name = 'news/article_detail.html'
model = Article
count_hit = True
form_class = CommentForm
def get_success_url(self):
pk = self.kwargs["pk"]
slug = self.kwargs['slug']
return reverse_lazy('news:article_detail', kwargs={'pk': pk, 'slug': slug})
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['comments'] = ArticleComment.objects.filter(article_id=self.object.id).all()
context['comments_number'] = ArticleComment.objects.filter(article_id=self.object.id).count()
context['form'] = CommentForm()
return context
def form_valid(self, form):
form.instance.article = self.object
form.instance.author = self.request.user
form.save()
messages.success(request=self.request, message="KOMENTARZ ZOSTAŁ DODANY POPRAWNIE")
return super().form_valid(form)
def post(self, request, *args, **kwargs):
self.object = self.get_object()
form = self.get_form()
if form.is_valid():
return self.form_valid(form)
else:
return self.form_invalid(form)
Ответ №1:
Вы можете попробовать так.
from django.core.paginator import Paginator
qs = ArticleComment.objects.filter(article_id=self.object.id).all()
page = self.request.GET.get('page')
context['comments'] = Paginator(qs, 10).get_page(page)
return context
Комментарии:
1. но как теперь перенести его в шаблон …?
2. @AM0k пожалуйста, проверьте документы для разбивки на страницы.