ジャンゴ·sqlpaginatorはモデルに生のSQLを使用してページネーションと順序付けを行いますDjangoのアプリです。
<強い>インストールの
PyPIのからインストールするには
ジャンゴ·sqlpaginatorをインストールピップ
gitのから最新の(そしておそらく非安定版)を取得するには
//github.com/bulkan/django-sqlpaginator.git:PIPのgit + gitのをインストール
またsqlparserをインストールする必要があります
//github.com/andialbrecht/sqlparse.git:gitの+のgitをインストールピップ
settings.pyで
&NBSP; INSTALLED_APPS =(
&NBSP; ...
&NBSP; 'sqlpaginator」、
&NBSP; ...
&NBSP;)
それでおしまい!!
の使用法の
django.core.pagination.Paginatorとしてほとんど同じ
あなたは次のモデルを持っている場合
&NBSP;クラスアルバム(models.Model):
&NBSP; albumid = models.IntegerField(PRIMARY_KEY = TRUE、フィールドのdb_column = u'AlbumId ')
&NBSP;タイトル= models.TextField(フィールドのdb_column = u'Title ')
&NBSP; ARTISTID = models.IntegerField(フィールドのdb_column = u'ArtistId ')
&NBSP;クラスのアーティスト(models.Model):
&NBSP; ARTISTID = models.IntegerField(PRIMARY_KEY = TRUE、フィールドのdb_column = u'ArtistId ')
&NBSP;名= models.TextField(フィールドのdb_column = u'Name '、空白=真)
そしてあなたは、ビューの中に、アルバムにページ付けしたい。
&NBSP; sqlpaginator.paginator輸入SqlPaginatorから
&NBSP;モデルからアルバムをインポート
&NBSP;デフget_albums(リクエスト、ページ= 1):
&NBSP; SQL =%Album._meta.db_table "%sから選択*」
&NBSP;ページネータ= SqlPaginator(SQL、アルバム、ページ=ページ、ORDER_BY = 'タイトル')
&NBSP;試してみてください。
&NBSP;アルバム= paginator.page(ページ)
&NBSP; PageNotAnInteger除く:
&NBSP;#ページが整数でない場合は、最初のページを提供します。
&NBSP;アルバム= paginator.page(1)
&NBSP; EmptyPage除く:
&NBSP;#ページが(例えば9999)の範囲外である場合、結果の最後のページをお届け。
&NBSP;アルバム= paginator.page(paginator.num_pages)
&NBSP;戻りrender_to_response( 'albums_list.html'、{'アルバム':アルバム})
テンプレートalbums_list.htmlで
&NBSP; {のアルバム%でアルバムの%}
&NBSP; {#各「アルバムは「アルバムモデルオブジェクトです。 #}
&NBSP; {{album.title |アッパー}}
&NBSP; {%ENDFOR%}
&NBSP;
&NBSP; <スパンクラス= "ステップ·リンク」>
&NBSP; {%ならalbums.has_previous%}
&NBSP; <"?ページ= {{albums.previous_page_number}}" HREF =>前
&NBSP; {%endifの%}
&NBSP; <スパンクラス= "現在の">
&NBSP;ページ{{albums.number}} {{albums.paginator.num_pages}}の。
&NBSP; の
&NBSP; {%ならalbums.has_next%}
&NBSP;
&NBSP; {%endifの%}
&NBSP; の
&NBSP;
の要件の
- のPythonます。
- ジャンゴます。
コメントが見つかりません