I am trying to implement end less pagination in Django App but stuck at how to implement twitter like end less scrolling :
My models.py
from django.db import models from django.contrib import admin #------------------------------------------------------------------------------ class Book(models.Model): name = models.CharField(max_length=50) pub_date = models.DateField(auto_now_add=True) class bookAdmin(admin.ModelAdmin): """Book admin class""" list_display = ('name','pub_date') ordering = ('name',) admin.site.register(Book,bookAdmin)
My views.py :
from models import Book from django.template import RequestContext from django.shortcuts import render_to_response #------------------------------------------------------------------------------ def latest_books(request,template = 'latest_books.html', page_template = 'latest_books_page.html' ): context = {} book_list = Book.objects.order_by('-pub_date') context.update( {'book_list': book_list, 'page_template': page_template,} ) # override the template and use the 'page' style instead. if request.is_ajax(): template = page_template return render_to_response( template, context, context_instance=RequestContext(request) )
My 'latest_books.html' template :
<html><head><title>Books</title></head> <body> <h1>Books</h1> {% block js %} {{ block.super }} <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.2.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript" src="http://yourjavascript.com/337923491/endless.js" charset="utf-8"></script> <script type="text/javascript" src="http://yourjavascript.com/151379951/endless-pagination.js"></script> <script>$.endlessPaginate();</script> {% endblock %} {% block content %} <div class="endless_page_template"> {% include page_template %} </div> {% endblock %} </body></html>
My latest_books_page.html :
<h2>Viewing All Entries</h2> {% load endless %} <div> <ul> {% paginate book_list %} {% for book in book_list %} <li>{{ book.name }}</li> {{ book.pub_date }} {% endfor %} {% show_pages %} </ul> </div>
I am facing two issues first if i use {{ block.super }}
as given in tutorial .Django gives this error 'BlockNode' object has no attribute 'context'
and if i remove {{ block.super }}
. I get simple pagination with next and previous functionality .
Can someone help me please. I want to implement on scroll load pagination...