logo
examples Examples
  • Random machine
  • Multiply example
  • Simple Form
  • Django Forms
  • Map example
  • Flickr in place editor
  • Pagination example

dajaxproject

django+ajax

Pagination Machine!

0
1
2
3
4
5
6
7
8
9
Page 1 of 10. next

Explanation

In this example we will create a paginator using the django.core.paginator.

ajax.py

	    from dajaxwebsite.examples.views import get_pagination_page
		from django.template.loader import render_to_string
		from dajaxice.decorators import dajaxice_register

		@dajaxice_register
		def pagination(request, p):
			try:
				page = int(p)
			except:
				page = 1
			items = get_pagination_page(page)
			render = render_to_string('examples/pagination_page.html', { 'items': items })

			dajax = Dajax()
			dajax.assign('#pagination','innerHTML',render)
			return dajax.json()

	

views.py

		def get_pagination_page(page=1):
			from django.core.paginator import Paginator, InvalidPage, EmptyPage
			from django.template.loader import render_to_string
			items = range(0,100)
			paginator = Paginator(items, 10)
			try:
				page = int(page)
			except ValueError:
				page = 1

			try:
				items = paginator.page(page)
			except (EmptyPage, InvalidPage):
				items = paginator.page(paginator.num_pages)

			return items

		def pagination_example(request):
			items = get_pagination_page(1)
			return render_to_response('examples/pagination_example.html',{'items':items})
	

html paginator_example

		
{% include "examples/pagination_page.html" %}

html paginator_page

		{% for i in items.object_list %}
		    {{ i }}
{% endfor %}
{% if items.has_previous %} previous {% endif %} Page {{ items.number }} of {{ items.paginator.num_pages }}. {% if items.has_next %} next {% endif %}
downloads Download   documentation Documentation   bugs Bugs
mail Any issues? Join our mailing list now!
Copyright © 2010 Jorge Bastida | icons by Joseph Wain