CRM_ページネーション - 18日目

前と最初の二つと最後の2つのページとデジタル表示で現在の2ページ目の後に、他のディスプレイと....

PAGE_NUM <3 分析フロント2 

PAGE_NUMを > query_sets.paginator.num_pages-2 は、最後の二つの判断

ABS(query_sets.number -page_num)<= 2   現在のページが決定される前と後の2を

差分NUM_PAGESとpage_range、及びIは、誤差範囲とINTで結果を比較するpage_rangeを使用したときに最後の二つを決定するには比較できません。

NUM_PAGES   総ページが

page_range   #のページが及ぶ

ナンバー   現在のページを

 

判決....ときに時間が条件を防止するために、表示されたが、他の数字と...、彼が入ったときに偽サインadded_bot_ele =の使用は、裁判官がtrueに設定されていることを示しませんでした

        場合 ないadded_bot_ele:
                page_eleは + = '' ' <LI> <A> .... </a>の<LI> ''' 
                added_bot_ele =真

このタブの完全なコードは次のとおりです。

register.simple_tagする@
 DEFのbuild_paginator(query_sets、filter_condtions):
    "" "ページタブの中央に表示されます...." "" 
    "" " ページ上のオブジェクトの値:PARAM query_sets 
    辞書には、データを要求:: PARAM filter_condtions 
    :リターン:バックページング
    "" " 
    sel_ele = " " 
    page_ele = " " 
    のための K、V :filter_condtions.items()
        sel_ele + = " 。&} = {0} {1 " .format(K、V)
    added_bot_ele = Falseの
     ため PAGE_NUM query_sets.paginator.page_range:
        印刷(「PAGE_NUM」、PAGE_NUM) 
        縦フロントページと、このページの量と2ページの最後の2ページ、ディスプレイを備えた他の.... 
        IF PAGE_NUM <3 または PAGE_NUM> query_sets.paginator.num_pages-2 または ABS( PAGE_NUM-query_sets.number)<= 2 
            ele_class = "" 
            added_bot_ele = Falseの
             IF PAGE_NUM == query_sets.number:
                ele_class = " アクティブ" 
            page_ele + = '' ' <LIクラス= "Sの%"> <HREF = " =%S%S?ページ「> S </a>の%</ LI> '' ' (ele_class、PAGE_NUM、sel_ele、PAGE_NUM) 

        もし ないadded_bot_ele:
                page_eleは + = '' ' <LI> <A> .... </a>の<LI> ''' 
                added_bot_ele = 真の

    リターン mark_safe(page_eleを)

 

おすすめ

転載: www.cnblogs.com/venvive/p/11318677.html