django-sqlpaginator ist ein Django-Applikation, die Paginierung und Bestell tut mit rohen SQL auf einem Modell.
Installation
Um von pypi installieren
pip django-sqlpaginator installieren
Um das neueste (und möglicherweise nicht stabilen Version) von git erhalten
pip installieren git + git: //github.com/bulkan/django-sqlpaginator.git
Sie müssen auch sqlparser installieren
pip installieren git + git: //github.com/andialbrecht/sqlparse.git
In settings.py
& Nbsp; INSTALLED_APPS = (
& Nbsp; ...
& Nbsp; "sqlpaginator ',
& Nbsp; ...
& Nbsp;)
Das ist es !!
Verwendung
So ziemlich identisch django.core.pagination.Paginator
Wenn Sie die folgenden Modelle haben
& Nbsp; Klasse Album (models.Model):
& Nbsp; albumid = models.IntegerField (primary_key = True, db_column = u'AlbumId ')
& Nbsp; title = models.TextField (db_column = u'Title ')
& Nbsp; artistid = models.IntegerField (db_column = u'ArtistId ')
& Nbsp; Klasse Künstler (models.Model):
& Nbsp; artistid = models.IntegerField (primary_key = True, db_column = u'ArtistId ')
& Nbsp; name = models.TextField (db_column = u'Name ', leer = True)
und Sie auf Alben Paginieren, dann in einer Ansicht soll;
& Nbsp; von sqlpaginator.paginator Import SqlPaginator
& Nbsp; von Modelle zu importieren Album
& Nbsp; def get_albums (Anfrage, Seite = 1):
& Nbsp; sql = "select * from% s"% Album._meta.db_table
& Nbsp; paginator = SqlPaginator (SQL, Album, page = Seite, order_by = 'title')
& Nbsp; versuchen:
& Nbsp; Alben = paginator.page (Seite)
& Nbsp; außer PageNotAnInteger:
& Nbsp; # Wenn Seite keine ganze Zahl ist, liefern erste Seite.
& Nbsp; Alben = paginator.page (1)
& Nbsp; außer emptypage:
& Nbsp; # Wenn Seite außerhalb der Reichweite (zB 9999), liefern letzte Seite der Ergebnisse.
& Nbsp; Alben = paginator.page (paginator.num_pages)
& Nbsp; Rück render_to_response ('albums_list.html' {'Alben': Alben})
In der Vorlage albums_list.html
& Nbsp; {% für das Album in Alben%}
& Nbsp; {# Jeder "Album" ist ein Album Modellobjekt. #}
& Nbsp; {{album.title | upper}}
& Nbsp; {% endfor%}
& Nbsp;
& Nbsp;
& Nbsp; {% if albums.has_previous%}
& Nbsp; <"? Page = {{albums.previous_page_number}}" a href => zurück
& Nbsp; {% endif%}
& Nbsp;
& Nbsp; Seite {{albums.number}} von {{albums.paginator.num_pages}}.
& Nbsp;
& Nbsp; {% if albums.has_next%}
& Nbsp; <"? Page = {{albums.next_page_number}}" a href => weiter
& Nbsp; {% endif%}
& Nbsp;
& Nbsp;
Anforderungen :
- Python
- Django
Kommentare nicht gefunden