django-sqlpaginator là một ứng dụng Django mà không pagination và đặt hàng bằng cách sử dụng SQL liệu trên Model.
Cài đặt
Để cài đặt từ pypi
pips cài đặt django-sqlpaginator
Để có được (và có thể là phiên bản không ổn định) mới nhất từ git
pips cài đặt git git +: //github.com/bulkan/django-sqlpaginator.git
Bạn cũng cần phải cài đặt sqlparser
pips cài đặt git git +: //github.com/andialbrecht/sqlparse.git
Trong settings.py
& Nbsp; INSTALLED_APPS = (
& Nbsp; ...
& Nbsp; 'sqlpaginator',
& Nbsp; ...
& Nbsp;)
Thế đấy !!
Cách sử dụng
Khá nhiều giống như django.core.pagination.Paginator
Nếu bạn có các mô hình sau
& Nbsp; class 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; class Artist (models.Model):
& Nbsp; artistid = models.IntegerField (primary_key = True, db_column = u'ArtistId ')
& Nbsp; name = models.TextField (db_column = u'Name ', trống = True)
và bạn muốn đánh số trang trên Album, sau đó bên trong một quan điểm;
& Nbsp; từ SqlPaginator nhập sqlpaginator.paginator
& Nbsp; từ các mô hình nhập khẩu Album
& Nbsp; get_albums def (yêu cầu, page = 1):
& Nbsp; sql = "chọn * từ% s"% Album._meta.db_table
& Nbsp; paginator = SqlPaginator (sql, Album, page = trang, order_by = "title")
& Nbsp; thử:
& Nbsp; album = paginator.page (trang)
& Nbsp; trừ PageNotAnInteger:
& Nbsp; # Nếu trang không phải là một số nguyên, cung cấp trang đầu tiên.
& Nbsp; album = paginator.page (1)
& Nbsp; trừ EmptyPage:
& Nbsp; # Nếu trang là ra khỏi phạm vi (ví dụ: 9999), cung cấp trang cuối của kết quả.
& Nbsp; album = paginator.page (paginator.num_pages)
& Nbsp; trở render_to_response ('albums_list.html', {'album': album})
Trong mẫu albums_list.html
& Nbsp; {% cho album trong album%}
& Nbsp; {# Mỗi "album" là một mô hình đối tượng Album. #}
& Nbsp; {{album.title | trên}}
& Nbsp; {% endfor%}
& Nbsp;
& Nbsp;
& Nbsp; {% nếu albums.has_previous%}
& Nbsp; <"? Page = {{}} albums.previous_page_number" a href => trước
& Nbsp; {% endif%}
& Nbsp;
& Nbsp; Trang {{}} albums.number của {{}} albums.paginator.num_pages.
& Nbsp;
& Nbsp; {% nếu albums.has_next%}
& Nbsp; <"? Page = {{}} albums.next_page_number" a href => sau
& Nbsp; {% endif%}
& Nbsp;
& Nbsp;
Yêu cầu :
- Python
- Django
Bình luận không