2012-05-06 20 views
0

Я пытаюсь разбивать страницы на страницы, чтобы отображать пять статусов на страницу. После ввода этих кодов он не разбивается на страницы. Ниже приведены коды для разбивки на страницы и обновления статуса в моем приложении django.Django Pagination Not Working

Просмотров:

 def qask(request): 
      extra_data_context={} 
      #if there's nothing in the field do nothing. 
      if request. method=="POST": 
       form =AskForm(request.POST) 
       if form.is_valid(): 
        data=form.cleaned_data 
        newask=Ask(
        user= request.user, 
        status=data['status'], 
        pub_date=datetime.datetime.now()) 
       newask.save() 
       extra_data_context.update({'AskForm':form}) 
     else: 
      form = AskForm() 
      extra_data_context.update({'AskForm':form}) 
     extra_data_context.update({'Asks':Ask.objects.filter(user=request.user)}) 

     plan=Ask.objects.all() 
     paginator=Paginator(plan, 5) 

     try: 
      page=int(request.GET.get('page','1')) 
     except ValueError: 
      page=1 

     try: 
      fp=paginator.page(page) 
     except (EmptyPage, InvalidPage): 
      fp=paginator.page(paginator.num_pages) 
     return render_to_response ('quik_ask.html',extra_data_context,context_instance=RequestContext(request)) 

шаблона:

 {% block content %} 



      {% for Ask in Asks %} 
     <tr> 
     <p> {{Ask.user}} </p> </strong> 
     <p>{{Ask.status}}</p> 
      <p> {{Ask.pub_date|timesince }} ago </p> 

      </tr> 
     {% endfor %} 

    <div class="pagination"> 
     <span class="step-links"> 
    {% if Asks.has_previous %} 
     <a href="?page={{ Asks.previous_page_number }}">previous</a> 
    {% endif %} 

    <span class="current"> 
     Page {{ Asks.number }} of {{ Asks.paginator.num_pages }}. 
    </span> 

    {% if Asks.has_next %} 
     <a href="?page={{ Asks.next_page_number }}">next</a> 
    {% endif %} 
    </span> 
</div> 



{% endblock %} 
+0

как я это сделаю? – picomon

+0

Также исправить отступ вашего кода на Python. – rantanplan

ответ

0

У вас есть данные страницы в fp переменной, но он никогда не представлен в шаблон. Вместо этого вы пытаетесь получить данные страницы от Asks, но это не имеет никакого отношения к paginator в вашем коде. Я не уверен, что вы пытаетесь разбивать на страницы, но если вы хотите разбивать страницы на ваши отфильтрованные данные, это должно быть примерно так:

plan = Ask.objects.filter(user=request.user) 
paginator=Paginator(plan, 5) 
###...get you page number 
try: 
    asks = paginator.page(page) 
except (EmptyPage, InvalidPage): 
    asks = paginator.page(paginator.num_pages) 
extra_data_context.update({'Asks': asks}) 
+0

Да, я хочу разбивать страницы на отфильтрованные данные. Чтобы отображать только пять статусов на страницу. Я пробовал приведенный выше код, но я получаю: TemplateSyntaxError at/qaskp/ Caught TypeError при рендеринге: объект 'Страница' не является итерабельным – picomon

+0

Теперь работает !! Спасибо! – picomon

+0

добро пожаловать) –