views.py 809 B

12345678910111213141516171819202122
  1. from django.shortcuts import render
  2. from django.views.generic.list import View
  3. from review.models import Review, Reply
  4. from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
  5. class ReviewListView(View):
  6. def get(self, request, location_id, *args, **kwargs):
  7. reviews = Review.objects.filter(location_id=location_id).order_by('-update_time')
  8. page = request.GET.get('page', 1)
  9. # context = {
  10. # 'reviews': reviews
  11. # }
  12. paginator = Paginator(reviews, 50)
  13. try:
  14. reviews = paginator.page(page)
  15. except PageNotAnInteger:
  16. reviews = paginator.page(1)
  17. except EmptyPage:
  18. reviews = paginator.page(paginator.num_pages)
  19. return render(request, 'review_list.html', {'reviews': reviews})