2012-05-03 3 views
0

Если я включаю paginator, то его печать несколько paginator на той же странице. потому что я включаю в forloop. Как решить эту проблему? пожалуйста, помогитеполучение нескольких страниц

---------------------- 
{% autopaginate recipes %} 
{% for recipe in recipes %} 
    {{ forloop.counter }} 
{% endfor %} 
----------- 

вот мой полный код.

{% with followers=current_user.get_profile.get_following.all %} 
    {% for follower in followers %} 
     {% with recipes=follower.recipe_set.all %} 
      {% for recipe in recipes %} 
       {{ forloop.counter }} 
      {% endfor %} 
     {% endwith %} 
    {% endfor %} 
{% endwith %} 

Результаты ->1 2 3 1 2 3 ...... 50. Это должно быть 53. Таким образом, я могу легко использовать paginator

благодаря

ответ

0

строка документ в setup.py file of django-pagination упоминает ниже,

  1. Определите переменную, которую хотели бы постраничной и использовать autopaginate тег на эту переменную перед ее итерацией по ней. Это может принять одну из двух форм (с использованием канонического object_list в качестве примера переменного):

    {% autopaginate object_list %}

Это предполагает, что вы хотели бы иметь параметр по умолчанию 20 результатов на страницу. Если вы хотите задать свой собственный размер результатов на странице, вы можете указать, что как так:

`{% autopaginate object_list 10 %}` 

Обратите внимание, что это заменяет object_list со списком для текущей страницы, так что вы можете перемещаться по object_list как вы обычно будете.

  1. Теперь вы хотите, чтобы отобразить текущую страницу и доступные страницы, так что где-то после использования autopaginate, используйте постраничной включения метки:

    {% paginate %}

Это не принимает любые аргументы, но предположим, что вы уже назвали autopaginate, поэтому обязательно сделайте это первым.

Вот и все! Вы теперь разбиты на страницы object_list и дали пользователям сайт для навигации между разными страницами - все без касаясь ваших взглядов.

Итак, где вы используете тег paginate после автопагината? Вам действительно не нужно перебирать рецепты, autopaginate должен делать это для вас везде, где вы называете paginate.

+0

благодарит за ответ. Да, я сначала включаю тег paginate, а затем автоопределяюсь. – Kulbir

+0

Если я использую этот '{% autopaginate recipes 10%}'. его отображение первых 10 результатов из первого цикла и на одной странице получает еще 10 результатов от второго цикла. как '1 ... 10 1 ...... 10' – Kulbir

Смежные вопросы