{
"info": {
"author": "Jabrail Lezgintsev",
"author_email": "lezgintsev13@yandex.ru",
"bugtrack_url": null,
"classifiers": [
"Environment :: Web Environment",
"Framework :: Django",
"Framework :: Django :: 2.0",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content"
],
"description": "# django-cool-pagination\n\n[](https://travis-ci.org/joe513/django-cool-pagination)\n[](https://coveralls.io/github/joe513/django-cool-pagination?branch=master)\n[](https://badge.fury.io/py/django-cool-pagination)\n\n*django-cool-pagination* is simple pagination app that saves your time.\n\n## WARNING:\n **The project is still on development stage, some things may not work properly.**\n \n \n
\n\n## Prerequisites\nCurrently it supports Bootstrap 4.x only. So that you have to add [Bootstrap4](https://getbootstrap.com/docs/4.1/getting-started/download) to your project.
\n
\n\n## Features \n
\n\n - _Dynamic query string creation_\n - _Length auto control_\n - _Fully customizable_ (aspiring)\n\n## Installation\n### Installing\n#### pip\n pip install django-cool-pagination\n#### setup.py\n git clone https://github.com/joe513/django-cool-pagination.git\n cd django-cool-pagination\n python setup.py install\n### Setting up\n#### Add to `INSTALLED_APPS`\n INSTALLED_APPS = [\n 'django.contrib.admin',\n 'django.contrib.auth',\n 'django.contrib.contenttypes',\n 'django.contrib.sessions',\n 'django.contrib.messages',\n 'django.contrib.staticfiles',\n \n 'django_cool_paginator'\n#### Make sure `request` is in `context_processors`\n 'context_processors': [\n 'django.template.context_processors.debug',\n 'django.template.context_processors.request',\n 'django.contrib.auth.context_processors.auth',\n 'django.contrib.messages.context_processors.messages',\n\n## Using\n\n### View\n#### FBV (Function based view)\n\n def listing(request):\n contact_list = Contacts.objects.all()\n paginator = Paginator(contact_list, 25)\n\n page = request.GET.get('page')\n page_obj = paginator.get_page(page)\n return render(request, 'list.html', {'page_obj': page_obj})\n\n#### CBV (Class based view)\n\n class Listing(ListView):\n model = Item\n paginate_by = 5\n\n### Template\n {% load cool_paginate %}\n \n {% for contact in page_obj %}\n ...\n {% endfor %}\n \n {% cool_paginate page_obj=ENTER HERE YOUR PAGE OBJECT! %}\n\n> **Note:**\nYou don't have to specify `page` if its name is `page_obj` as default.\n\n## Customization\nYou can customize it so that it works as you want. Customize it by defining settings either in setting.py or \ninside of `{% cool_paginate %} `\n\n#### setting.py\n\n`COOL_PAGINATOR_NEXT_NAME` - Name for \"next\" button in pagination bar.
\n`COOL_PAGINATOR_PREVIOUS_NAME` - Name for \"previous\" button in pagination bar
\n`COOL_PAGINATOR_SIZE` - Size of pagination bar (choose: \"LARGE\" or \"SMALL\")
\n`COOL_PAGINATOR_ELASTIC` - What page width is elastic mode enabled from?\n\n#### {% cool_paginate page_obj next_name previous_name size elastic %}\n`page_obj` - Type here your page object.
\n`next_name` - Name for \"next\" button in pagination bar.
\n`previous_name` - Name for \"previous\" button in pagination bar
\n`size` - Size of pagination bar (choose: \"LARGE\" or \"SMALL\")
\n`elastic` - What page width is elastic mode enabled from?\n\n> **Note:**\n> `{% cool_paginate %}` has a priority, _django-cool-pagination_ will firstly look at this, after at setting.py\n\n## License\nThis project is licensed under the MIT License - see the LICENSE file for details\n