2017-12-15 12 views
0

私は機能ビューまたはCBVでページを設定する方法を知っていますが、ここでは役立ちません。テンプレート内のDjangoインポート

POCモデルにはTagモデルを指す外部キーがあります。 Tag詳細テンプレートでは、Tagを指すすべてのPOCを表示したいとします。

{% for poc in tag.poc_set.all|dictsort:"name" %} 

問題は何千もあるということです。テンプレート内にPaginatorをインポートして、Paginatorをコンストラクタに渡すか(またはPaginatorのquerysetを「ラップ」してjavaspeakを言い訳する)ことができますか?

答えて

0

あなたのビューでクエリセットをハンドル:

from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage 

AMOUNT_LISTED_POC = 10 # This determines how many POC that you want to display per page 
all_poc = tag.poc_set.all().order_by('name') 

page = request.GET.get("page",1) 
if page: 
    paginator = Paginator(all_poc,AMOUNT_LISTED_POC) 
    try: 
     all_poc = paginator.page(page) 
    except PageNotAnInteger: 
     all_poc = paginator.page(1) 
    except EmptyPage: 
     all_poc = paginator.page(paginator.num_pages) 
+0

Gratias.IをあなたはAMOUNT_LISTED_POCを意味参照してください。 –

+0

完全に働いた。 –

+0

うまくいきましたが、クエリーセット自体にアクセスしたい場合は、同じ変数:global_poc = all_pocで新しい変数を作成してください。私の場合、テンプレートにcount()オブジェクトを表示したかったからです。ページングオブジェクトでは機能しません。しかし、あなたが他の変数にquerysetを保持するなら、あなたは可能になります global_poc.count()はグローバルな合計になります all_poc.countまたはall_poc | lengthは常に表示される量のままです – Lemayzeur

関連する問題