parent
ce4820335b
commit
073150e432
34 changed files with 366 additions and 242 deletions
@ -1,11 +1,48 @@ |
|||||||
# -*- coding: utf-8 -*- |
# -*- coding: utf-8 -*- |
||||||
from django.shortcuts import render_to_response |
from django.shortcuts import render_to_response |
||||||
from django.http import HttpResponseRedirect, HttpResponse |
|
||||||
from django.core.context_processors import csrf |
|
||||||
from django.conf import settings |
|
||||||
from django.contrib.auth.decorators import login_required |
from django.contrib.auth.decorators import login_required |
||||||
from django.core.mail import send_mail |
|
||||||
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage |
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage |
||||||
|
|
||||||
|
|
||||||
|
@login_required |
||||||
|
def objects_list(request, Model, template, item_per_page=10): |
||||||
|
""" |
||||||
|
Return template with all objects of model Model |
||||||
|
Model - objects Model |
||||||
|
item_per_page - how many objects view in the one page |
||||||
|
""" |
||||||
|
list = Model.objects.all() |
||||||
|
paginator = Paginator(list, item_per_page) |
||||||
|
page = request.GET.get('page') |
||||||
|
try: |
||||||
|
objects = paginator.page(page) |
||||||
|
except PageNotAnInteger: |
||||||
|
# If page is not an integer, deliver first page. |
||||||
|
objects = paginator.page(1) |
||||||
|
except EmptyPage: |
||||||
|
# If page is out of range (e.g. 9999), deliver last page of results. |
||||||
|
objects = paginator.page(paginator._num_pages) |
||||||
|
return render_to_response(template, {'objects': objects}) |
||||||
|
|
||||||
|
|
||||||
|
@login_required |
||||||
|
def filtered_list(request, objects, template, item_per_page=10): |
||||||
|
""" |
||||||
|
Return template with objects in it with pagination |
||||||
|
item_per_page - how many objects view in the one page |
||||||
|
""" |
||||||
|
paginator = Paginator(objects, item_per_page) |
||||||
|
page = request.GET.get('page') |
||||||
|
try: |
||||||
|
objects = paginator.page(page) |
||||||
|
except PageNotAnInteger: |
||||||
|
# If page is not an integer, deliver first page. |
||||||
|
objects = paginator.page(1) |
||||||
|
except EmptyPage: |
||||||
|
# If page is out of range (e.g. 9999), deliver last page of results. |
||||||
|
objects = paginator.page(paginator._num_pages) |
||||||
|
return render_to_response(template, {'objects': objects}) |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in new issue