2012-05-11 5 views
1

Я хочу разбивать твиты пользователей на tweepy, чтобы он отображал только 5 твитов или статусов на страницу. Я попытался добавить нижеприведенные коды, но он не работает. Вопрос в том, как я могу сделать его разбитым на страницы?Pagination In Tweepy

Просмотров:

def testdat(request): 
     if request.method=="GET": 
     treats=Cursor(api.list_timeline, owner=request.user, slug="").items(20) 
     for treat in treats: 
      treat.__getstate__() 
      top=Twet(text= treat.text, author_screen_name= treat.author.screen_name, created_at= treat.created_at, source= treat.source) #Twet is the db created. 
      top.save() 
     treats=Cursor(api.list_timeline, owner=request.user, slug='').items(20) 

     fab=Twet.objects.all() 
     paginator=Paginator(fab, 5) 
     try: 
      page=request.GET.get('page', '1') 
     except ValueError: 
      page=1 
     try: 
      map=paginator.page(page) 
     except (EmptyPage, InvalidPage): 
      map=paginator.page(paginator.num_pages) 
     return render_to_response('dashy.html',{'treats': treats, 'fab':fab, 'map':map},context_instance=RequestContext(request)) 

шаблона:

  {% block content %} 

      {% for treat in treats %} 

      <center> <p> {{ treat.author.screen_name}} </p> 
     <p> {{ treat.text|safe }} {{ treat.url }} </p> 
     <p> {{ treat.created_at }} Via: {{treat.source}} </p> </center> 

      {% empty %} 

      <p> Sorry, No Update Could Be Loaded At This Time. </p> 
      {% endfor %} 

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

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

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

ответ

1

Если вы wan't в постраничной твиты сохранены как объекты Django в базе данных вы можете использовать django-pagination приложение.

Если вы хотите, чтобы твиты с твитами, возвращаемые tweepy tweepy cursor tutorial, могут помочь.

EDIT: ссылка на tweepy cursors link выше не работает. Посетите http://tweepy.readthedocs.org/en/v3.5.0/cursor_tutorial.html для учебника.

+0

Я попытался использовать приложение paginate, но оно не работает. Невозможно получить, как я могу использовать paginate с помощью переменной. Я попытался использовать {% autopaginate treats.object_list%} Но я получаю ошибку. – picomon