1 changed files with 24 additions and 0 deletions
@ -0,0 +1,24 @@
|
||||
from urllib.parse import urlencode |
||||
|
||||
from django import template |
||||
|
||||
|
||||
register = template.Library() |
||||
|
||||
|
||||
@register.simple_tag(takes_context=True) |
||||
def url_replace(context, **kwargs): |
||||
query = context['request'].GET.dict() |
||||
query.update(kwargs) |
||||
return urlencode(query) |
||||
|
||||
|
||||
@register.filter |
||||
def paginator_context(page_range, current): |
||||
before = [p for p in page_range if p < current] |
||||
after = [p for p in page_range if p > current] |
||||
if len(before) > 3: |
||||
before = before[:2] + [''] + before[-1:] |
||||
if len(after) > 3: |
||||
after = after[:1] + [''] + after[-2:] |
||||
return before + [current] + after |
Loading…
Reference in new issue