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

django-cool-pagination

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

django-cool-pagination

Simple pagination app that saves your time.

  • 0.3.0
  • Source
  • PyPI
  • Socket score

Maintainers
1

django-cool-pagination

Build Status Coverage Status PyPI version

django-cool-pagination is simple pagination app that saves your time.

WARNING:

The project is still on development stage, some things may not work properly.

Prerequisites

Currently it supports Bootstrap 4.x only. So that you have to add Bootstrap4 to your project.

Features

paris
  • Dynamic query string creation
  • Length auto control
  • Fully customizable (aspiring)

Installation

Installing

pip
pip install django-cool-pagination
setup.py
git clone https://github.com/joe513/django-cool-pagination.git
cd django-cool-pagination
python setup.py install

Setting up

Add to INSTALLED_APPS
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    
    'django_cool_paginator'
Make sure request is in context_processors
    'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',

Using

View

FBV (Function based view)
def listing(request):
    contact_list = Contacts.objects.all()
    paginator = Paginator(contact_list, 25)

    page = request.GET.get('page')
    page_obj = paginator.get_page(page)
    return render(request, 'list.html', {'page_obj': page_obj})
CBV (Class based view)
class Listing(ListView):
    model = Item
    paginate_by = 5

Template

{% load cool_paginate %}

{% for contact in page_obj %}
    ...
{% endfor %}

{% cool_paginate page_obj=ENTER HERE YOUR PAGE OBJECT! %}

Note: You don't have to specify page if its name is page_obj as default.

Customization

You can customize it so that it works as you want. Customize it by defining settings either in setting.py or inside of {% cool_paginate %}

setting.py

COOL_PAGINATOR_NEXT_NAME - Name for "next" button in pagination bar.
COOL_PAGINATOR_PREVIOUS_NAME - Name for "previous" button in pagination bar
COOL_PAGINATOR_SIZE - Size of pagination bar (choose: "LARGE" or "SMALL")
COOL_PAGINATOR_ELASTIC - What page width is elastic mode enabled from?

{% cool_paginate page_obj next_name previous_name size elastic %}

page_obj - Type here your page object.
next_name - Name for "next" button in pagination bar.
previous_name - Name for "previous" button in pagination bar
size - Size of pagination bar (choose: "LARGE" or "SMALL")
elastic - What page width is elastic mode enabled from?

Note: {% cool_paginate %} has a priority, django-cool-pagination will firstly look at this, after at setting.py

License

This project is licensed under the MIT License - see the LICENSE file for details


inspired by inoks/m3u8

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