2017-10-02 4 views
0

작동하지 않습니다 50으로 페이지 매기기를 원하면 2 페이지를 제공하지만 두 페이지 모두 동일한 결과를가집니다. 50 페이지 단위로 페이지를 매기려면 2 페이지를 줄 수 있습니다.장고 매김 내가 당신에게 예를하려고 해요 ...이 작업을 수행하지만, 내가 매김 기능을 기반으로보기를 할 것을 시도하고 제대로

이 기능을 기반으로 한 뷰는 link입니다. 나는 코드의 나머지 부분이 작동하지 않을 것이라는 것을 구현한다면 분류 된 뷰의 원인을 원하지 않는다.

나는 내 코드의 일부를 게시하려고합니다.

views.py

def search_form_table(request, pk): 
    table_name = Crawledtables.objects.get(id=pk) 
    t = create_model(table_name.name) 
    if request.method == 'GET': 
     form = AllTablesForm(request.GET) 
     if form.is_valid(): 
      cd = form.cleaned_data 
      title = cd['title'] 
      url = cd['url'] 
      query = t.objects.filter(title__icontains=title, 
           url__icontains=url) 

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

      paginator = Paginator(query, 50) 
      try: 
       users = paginator.page(page) 
      except PageNotAnInteger: 
       users = paginator.page(1) 
      except EmptyPage: 
       users = paginator.page(paginator.num_pages) 

      return render(request, 'search_table.html', {'tbl_name': table_name, 
                  'users': users, 
                  'form': form, 
                  'details': query}) 

답변

1

난 당신이 문서 (이 함수 기반도 함께)에 볼 수있는 좋은 예를 복제하려고 할 것입니다!
https://docs.djangoproject.com/en/1.11/topics/pagination/#using-paginator-in-a-view

이 페이지 변수가 동일시피 : 당신이 request.GET의 GET() 메소드 하나의 문자열

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

패스를하고있는 대신에의

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

+0

도움에 감사드립니다. – Omega