2016-12-23 3 views
0

Hallo, ich möchte paginierenden Queryset (Vorlesungen). und ich habe es versucht. aber es funktioniert nicht wie kann ich tun? Django-Klasse basierte Ansicht Paginierung

 
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

Gibt es einen Fehler oder etwas, das es nicht gibt Arbeiten? –

+0

Es sagt nur "Ein Server Fehler ist aufgetreten. Bitte kontaktieren Sie den Administrator. '' –

+1

Sie sollten' DEBUG' auf True setzen, wenn .. uhm .. Debugging – Sayse

Antwort

1

Gerade sie machen eine ListView und Sie müssen sich keine Sorgen darüber, wie das alles funktioniert seit paginate_by Sets bis Paginierung für Sie

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

Vielen Dank Aber ich kann paginieren von ListView. Ich möchte ' View 'gibt es einen anderen Weg, es zu lösen? –

+0

@ JungYoonKim - Ich weiß nicht, Sie haben uns nicht gesagt * was * Fehler Sie bekommen.Ob wenn Listenansicht funktioniert, was brauchen Sie eine 'View' für? – Sayse

+0

Eigentlich arbeite ich mit meinem Kollegen und er läuft auf dem Entwicklungsserver und er antwortet jetzt nicht, also weiß ich nicht, welchen Fehler ich bekomme, tut mir leid, ich bearbeite den Code auf den vollen Code.Es gibt eine Möglichkeit, meine Ansicht in ListView zu konvertieren? –

Verwandte Themen