Skip to main content

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:

https://example.com/cheeses?p=1&n=42

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

pyramid_listing-0.2.2.tar.gz (31.5 kB view details)

Uploaded Source

Built Distribution

pyramid_listing-0.2.2-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

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

Hashes for pyramid_listing-0.2.2.tar.gz
Algorithm Hash digest
SHA256 993ce9d3913e64262e8481d7c78b05af88257d4bf9909d47224dc692095a9ef7
MD5 d949875ca154819a358908602b2ef5bd
BLAKE2b-256 e03a0580ea71f174b1751c607ae6b391f1c7b806ba49737d99a95cf15d594a6c

See more details on using hashes here.

File details

Details for the file pyramid_listing-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pyramid_listing-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2b5c9b33f171131364760fa6a9db380fced362dc787c4fe40dfbb06af90ae11e
MD5 3d910b9878dfe9f047d85850796075da
BLAKE2b-256 4e52ba9915158eb5a6264bb67b765ef78cc2f05659db41d846b0c9b09d371dd8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page