Джанго-sqlpaginator е Django приложение, което прави страниране и поръчка се използват суров SQL на модел.
<Силен> Монтаж
За да инсталирате от pypi
PIP инсталирате Джанго-sqlpaginator
За да получите най-новите (и вероятно не е стабилна версия) от Git
PIP инсталирате Git + Git: //github.com/bulkan/django-sqlpaginator.git
Можете също така трябва да инсталирате sqlparser
PIP инсталирате Git + Git: //github.com/andialbrecht/sqlparse.git
В settings.py
& Nbsp; INSTALLED_APPS = (
& Nbsp; ...
& Nbsp; "sqlpaginator",
& Nbsp; ...
& Nbsp;)
Това е !!
<Силен> Usage
Доста същата като django.core.pagination.Paginator
Ако имате следните модели
& Nbsp; клас Album (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 ", празно = True)
и искате да странирате на Албуми, след това вътре цел;
& Nbsp; от sqlpaginator.paginator внос SqlPaginator
& Nbsp; от модели внасят Албум
& Nbsp; ДЕФ get_albums (молба, стр = 1):
& Nbsp; SQL = "SELECT * FROM% S"% Album._meta.db_table
& Nbsp; paginator = 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; Page {{}} albums.number на {{}} albums.paginator.num_pages.
& Nbsp; педя>
& Nbsp; {%, ако albums.has_next%}
& Nbsp; <"? Страница = {{}} albums.next_page_number" един HREF => следващата
& Nbsp; {% endif%}
& Nbsp; педя>
& Nbsp;
<силни> Изисквания :
- Python
- Django
Коментари не е намерена