Djangoのページネーションの文言は、フロントエンド、バックエンド!

  ジャンゴが組み込まれているページング、関数は非常に包括的、私のアプリケーションシナリオには適していませんが、それは離れて感謝取らないコードを書くことです!

  

  アプリケーションシナリオ:

    1は、好ましくは、Djangoに使用されています

  

  どのように使用するには:

    データ(データのquessetタイプは、パスをステッチ、ページにジャンプします)辞書リターンを返すにはなぜ私が使用して短期間のための辞書?ダイレクトリターン便利なフロントエンド、そしてあなたがそれを変更することができ、他のニーズがある場合

    ここで使用する:直接参照}}、{{負荷

       

  レンダリング:

    ドラマを使用してページバラ色の効果、スタイルの背後にある罰金はありませんが、私はそれについての専門的な、あなたの曲ではありませんよ

  

1  "" " 
2  ファンクションコール)は(my_html開始される
 3つの。 パラメータが必要とされている 
 4。 PARAMのQUE:データ型querryset 
 。5  new_num_page:ページ番号にジャンプ 
 6。 HREF:ステッチパス
 。7  
。8  
。9  " "" 
10  DEF HTML (new_lis、new_num_pageは、PAGE_NUM、HREF)
 。11      "" " 
12は     :PARAM new_lis:
 13である     :PARAMのnew_num_page:
 14      :PAGE_NUM PARAM
 15      :このような接合のhref :?到来パスをPARAMとして/ custorm /ページ=
 16      :リターン:
 。17      "" " 
18は      page_html = ""
19      page_pre_html = F<NAV ARIA-ラベル= "ページナビゲーション"> <ulのクラス= "改ページ"> <LI> <a href="{href}1" aria-label="Previous"> <スパンARIA-隠さ=" true"を>首页</ span>を</a>の</ LI> <LI> <aのhref="{href}{new_num_page-1}" aria-label="Previous"> <スパンARIA-隠さ= "真の">&LAQUO ; </スパン> </a>の</ LI> ' 
20      page_html + = page_pre_html
 21       I new_lis:
 22          であれば、I == STR(new_num_page):
 23              + = F page_html ' <LI> <HREF = "{ HREF} {I}」スタイル= "色:赤"> {I} </a>の</ LI> ' 
24          25              page_html + = F ' <LI> <a href="{href}{i}"> {I} </a>の</ LI>' 
26  
27      pagenum_html = F ' <LI> <a href="{href}{new_num_page + 1}" aria-label="Next"> <スパンARIA-隠れ= "真">表示&raquo; </スパン> </ > </ LI> <LI> <a href="{href}{page_num}" aria-label="pattern"> <スパンARIA-隠さ= "真">尾页</ span>の</a>の< / LI> <LI> <スパンARIA-隠さ= "真の"> <フォームアクション= ""メソッド= "GET">の<input type = "text"スタイル= "幅:80px;高さ:18px;" プレースホルダ= "共:{PAGE_NUM}页" NAME = "ページ">の<input type = "提出"スタイル= "幅:80px;高さ:18px;" 値= "跳转"> </ FORM> </ LI> </ UL> </ NAV> '
      
 
 my_html(QUE、new_num_page、HREF、page_max_piece = 10、page_tag_num = 5):#1 のparam QUE:データnew_num_pageのquerry型:新しいページのHREF:パスステッチ
33がある     " "" 
34は     :PARAMのQUE:querryタイプデータ
 35      :PARAMのnew_num_page:新しいページ
 36      HREF:ステッチパス
 37      :PARAMのpage_max_piece:ページの最大数を表示
 38は     :PARAMのpage_tag_num:表示されたページのページ数は、好ましくは、奇数は容易に変更されていない
 39      :リターン:返す良いスライス辞書を運びますquerry HTMLページと前段によって直接戻すことができる
 40      "" " 
41である      all_data_count = ()que.count
 42は      、RESID = divmod(all_data_count、page_max_piece)PAGE_NUM   #の商と余り
43で     IF RESID。
44          PAGE_NUM + = 1   拿到了总页数
45      page_all_lis = [STR(I)のために I における範囲(1、PAGE_NUM + 1 )]
 46      であれば new_num_page page_all_lis:
 47          new_num_page = INT(new_num_page)
 48          なら new_num_page> 2 及び new_num_page <PAGE_NUM - 1 49              RET = HTML(page_all_lis [new_num_page-3:new_num_page + 2 ]、new_num_page、PAGE_NUM、HREF)
 50          のelif new_num_page <= page_tag_num:
 51              RET =HTML(page_all_lis [0:page_tag_num]、new_num_page、PAGE_NUM、HREF)
 52          のelif new_num_page> PAGE_NUM-2 53              RET = HTML(page_all_lis [page_num- page_tag_num:PAGE_NUM]、new_num_page、PAGE_NUM、HREF)
 54          リターン { " QUE "。 QUE [(new_num_page - 1)* page_max_piece:new_num_page * page_max_piece]、" new_html " :RET}
 55      56          = 1 new_num_page
 57          RET = :HTML(new_num_page、PAGE_NUM、HREF page_all_lis [page_tag_num 0])
 58          リターン { " QUE":QUE [(new_num_page - 1)* page_max_piece:new_num_pageの*のpage_max_piece]、" new_html :RET}
コードの表示

  

    

    

おすすめ

転載: www.cnblogs.com/well-666/p/11391002.html