Django - от представления функций к общему представлению классов - PullRequest
0 голосов
/ 22 мая 2018

У меня было это function based view, и я пытаюсь преобразовать его в generic class view как:

Оригинал:

def view_events (request):

    template ='appform/view_events.html'
    items = Event.objects.filter(owner=request.user)
    pages = pagination(request,items, num = 10)
    print(pages)
    context = {
        'items': pages[0],
        'page_range': pages[1],
    }
    return render(request, template, context)

Общий вид класса:

class ViewEvents(generic.ListView):

    template_name = 'app/view_events.html'
    model = Event
    context_object_name = 'events'
    pagination = ???

    def get_queryset(self):

        return Event.objects.filter(owner = self.request.user)

РЕДАКТИРОВАТЬ: я использовал это для нумерации страниц, который является пользовательским нумератором страниц.вопрос, который я пытаюсь задать, состоит в том, как я могу реализовать это в generic class view?

Позже. РЕДАКТИРОВАТЬ: Это работает, на случай, если это кому-нибудь пригодится:)

class ViewEvents(generic.ListView):

    template_name = 'app/view_events.html'
    model = Event
    context_object_name = 'items'

    def get_queryset(self):

        return Event.objects.filter(owner = self.request.user)


    def get_context_data(self, **kwargs):

        context = super(ViewEvents, self).get_context_data(**kwargs)
        objects_all = Event.objects.filter(owner = self.request.user)
        pages = pagination(self.request, objects_all, num = 10)
        context['items'] = pages[0]
        context['page_range'] = pages[1]

        return  context
...