2016-12-23 6 views
0

Привет, я хочу разбивать страницы (лекции). и я попробовал. но он не работает как я могу это сделать? Django class based pagination

 
class tag_detail(View): 
     def get(self, request, pk): 

      tag_hit = get_object_or_404(TagModel, id=pk) 
      tag_hit.view_cnt = tag_hit.view_cnt + 1 
      tag_hit.save() 

      tag = TagModel.objects.get(id=pk) 
      lectures_data = LectureModel.objects.filter(tags__id=pk).order_by('-id') 
      paginator = Paginator(lectures_data, 2) 

      page = request.GET.get('page') 

      try: 
       lectures = paginator.page(page) 
      except PageNotAnInteger: 
       lectures = paginator.page(1) 
      except EmptyPage: 
       lectures = paginator.page(paginator.num_pages) 

      return render(request, 'web/html/tag/tag_detail.html',{ 
        'lectures':lectures 
        'tag':tag 
      }) 
+1

Есть ли ошибка или что-то, что указывает на то, что это не за работой? –

+0

Просто скажите: «Произошла ошибка сервера. Обратитесь к администратору.» –

+1

Вы должны установить 'DEBUG' в true, когда .. uhm .. debugging – Sayse

ответ

1

Просто сделать его ListView и вам не придется беспокоиться о том, как все это работает, так как paginate_by настраивает пагинацией для вас

class tag_detail(ListView): # TagDetailListView would be a better name 
    paginate_by = 2 
    template_name = 'web/html/tag/tag_detail.html' 
    model = LectureModel 
    ordering = '-id' 
    context_object_name = 'lectures' 

    def get_queryset(self): 
     return LectureModel.objects.filter(tags__id=self.kwargs['pk']) 
+0

Большое спасибо Но я могу разбивать страницы на ListView.Я хочу использовать ' View 'есть другой способ его решить? –

+0

@JungYoonKim - я не знаю, вы не сказали нам, что * ошибка вы получаете. Хотя если просмотр списка работает, вам нужен 'View' для? – Sayse

+0

На самом деле я работаю с моим коллегой, и он запускает сервер разработки, и теперь он не отвечает, поэтому я не знаю, какую ошибку я получаю. Извините, я редактирую код до полного кода. Есть ли способ конвертировать мой View в ListView? –