Pyramid List Pagination contains helpers for pagination of result lists.
Project description
Pyramid Listing contains pyramid resources and helpers for pagination of result lists.
A lot of pyramid applications that use a (SQL) database need to list the result of queries. This result list might get quite long and are split into several pages. This package is offering some help in this.
Quickstart
Lets assume, that you’d like to start a cheese shop and define a simple database model in the pyramid application:
from .meta import Base class Cheese(Base): id = Column(Integer, primary_key=True) name = Column(Text, nullable=False)
To get a result list including pagination, just create a sub-class from pyramid_listing.SQLAlchemyListing and define a get_base_query method:
from pyramid_listing import SQLAlchemyListing class CheeseList(SQLAlchemyListing): def get_base_query(self, request) return request.dbsession.query(Cheese)
In a view you could then use this class to autmagically get paged results:
@view_config(route_name='cheeses') def cheese_list_view(request): listing = CheeseList(request) return {'cheeses': listing.items(), 'pagination': listing.pages}
With this URLs you could access different result pages:
shows page 3:
https://example.com/cheeses?p=3
shows page 1 with 42 items per page:
Features
automatically calculate pagination information like first, next or last page from pyradmid.request.GET parameters
loading configuration defaults from .ini files
easily implement ordering and filtering of results
helper method for creating pyradmid.request.GET parameters for different pages
base class for listings as location aware pyramid resources
Example Project
To see this in action install the sample project from https://github.com/holgi/pyramid_listing_example and take a look at it
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyramid_listing-0.2.2.tar.gz
.
File metadata
- Download URL: pyramid_listing-0.2.2.tar.gz
- Upload date:
- Size: 31.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.22.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 993ce9d3913e64262e8481d7c78b05af88257d4bf9909d47224dc692095a9ef7 |
|
MD5 | d949875ca154819a358908602b2ef5bd |
|
BLAKE2b-256 | e03a0580ea71f174b1751c607ae6b391f1c7b806ba49737d99a95cf15d594a6c |
File details
Details for the file pyramid_listing-0.2.2-py3-none-any.whl
.
File metadata
- Download URL: pyramid_listing-0.2.2-py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.22.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b5c9b33f171131364760fa6a9db380fced362dc787c4fe40dfbb06af90ae11e |
|
MD5 | 3d910b9878dfe9f047d85850796075da |
|
BLAKE2b-256 | 4e52ba9915158eb5a6264bb67b765ef78cc2f05659db41d846b0c9b09d371dd8 |