Skip to content

Instantly share code, notes, and snippets.

@gustavofonseca
Created March 6, 2012 20:59
Show Gist options
  • Save gustavofonseca/1988936 to your computer and use it in GitHub Desktop.
Save gustavofonseca/1988936 to your computer and use it in GitHub Desktop.
Refatoração do template tag de paginação (somente o metodo render)
def render(self, context):
object_record = self.object_record.resolve(context)
if object_record.paginator.count > settings.PAGINATION__ITEMS_PER_PAGE:
class_li_previous = 'disabled' if not object_record.has_previous() else ''
class_li_next = 'disabled' if not object_record.has_next() else ''
html_pages = []
for page in object_record.paginator.page_range:
class_li_page = 'active' if object_record.number == page else ''
html_pages.append(u'<li class="{0}"><a href="?page={1}">{1}</a></li>'.format(class_li_page, page))
html_snippet = u'''
<div class="pagination">
<ul>
<li class="prev {0}"><a href="?page={1}">&larr; {2}</a></li>
{3}
<li class="next {4}"><a href="?page={5}">{6} &rarr;</a></li>
</ul>
</div>
'''.format(
class_li_previous,
object_record.previous_page_number(),
_('Previous'),
''.join(html_pages),
class_li_next,
object_record.next_page_number(),
_('Next')
)
return html_snippet
else:
return ''
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment