Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

django-pagination-py3

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

django-pagination-py3

A port of ericflo/django-pagination to Python 3 and beyond!

  • 2.1.0
  • PyPI
  • Socket score

Maintainers
1

django-pagination-py3

Python Compatibility PyPi Version CI badge codecov License

A port of ericflo/django-pagination to Python 3. Updated to be compatible with Django 4.x and 5.0.

For versions compatible with Django 3.x and Python 2.7+ please install or download version 1.2.0 from Releases or Pypi.

Features

  • Really easy to use at template level.
  • It preserves all request's querystring parameters.
  • Settings to customize behavior.
  • Translated to fr, de, es, pt, pl and pt_BR.
  • A fully working example project.

Installation

Install using pip command:

pip install django-pagination-py3

...or clone the repo and install it using pip:

git clone git://github.com/matagus/django-pagination-py3.git
cd django-pagination-py3
pip install -e .

Add pagination INSTALLED_APPS to your settings.py:

INSTALLED_APPS = (
    # ...
    "pagination",
)

Add the middleware:

   MIDDLEWARE_CLASSES = (
       # ...
       'pagination.middleware.PaginationMiddleware',
   )

Add this line at the top of your template to load the pagination tags:

  {% load pagination_tags %}

Decide on a variable that you would like to paginate, and use the autopaginate tag on that variable before iterating over it. This could take one of two forms (using the canonical object_list as an example variable):

  {% autopaginate object_list %}

This assumes that you would like to have the default 20 results per page. If you would like to specify your own amount of results per page, you can specify that like so:

  {% autopaginate object_list 10 %}

Note that this replaces object_list with the list for the current page, so you can iterate over the object_list like you normally would.

Now you want to display the current page and the available pages, so somewhere after having used autopaginate, use the paginate inclusion tag:

  {% paginate %}

This does not take any arguments, but does assume that you have already called autopaginate, so make sure to do so first.

That's it! You have now paginated object_list and given users of the site a way to navigate between the different pages--all without touching your views.

Running Tests

hatch run test:test will run the tests in every Python + Django versions combination.

hatch run test.py3.12-5.0:test: will run them for python 3.12 and Django 5.0. Please see possible combinations using hatch env show ("test" matrix).

License

django-pagination-py3 is released under an BSD License - see the LICENSE file for more information.

Acknowledgements

Develop & built using Hatch project linting - Ruff code style - black

Posts I learned from:

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc