views.py 870 B

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