2012-05-03 30 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 doc字符串提到下面,

  1. 決定你想分頁的變量,並使用autopaginate標籤在迭代它之前在該變量上。這 可以採取兩種形式(使用規範object_list 作爲實例變量)之一:

    {% autopaginate object_list %}

這是假設你想有默認每頁20個結果。如果你想指定自己的每頁 結果量,你可以指定像這樣:

`{% autopaginate object_list 10 %}` 

請注意,此替代object_list與列表當前頁面,這樣你就可以在object_list像迭代你通常會。

  1. 現在要顯示當前頁面和可用的頁面,這樣的地方有使用autopaginate後,使用分頁 包含標籤:

    {% paginate %}

這還不任何參數,但確實假設你已經調用過autopaginate,所以一定要這樣做。

就是這樣!您現在已經爲object_list分頁,並給予用戶 該網站在不同頁面之間導航的方式 - 全部不包含 來觸及您的觀點。

那麼,你在哪裏使用paginate標籤autopaginate後?你實際上不需要循環食譜,autopaginate應該爲你做到這一點,無論你打電話分頁。

+0

感謝您的回覆。是的,我首先包含分頁標記,然後是自動標記。 – Kulbir

+0

如果我使用這個'{%autopaginate recipe 10%}'。它從第一個循環顯示前10個結果,在同一個頁面上顯示來自第二個循環的10個以上結果。像'1 ... 10 1 ...... 10' – Kulbir