diff options
Diffstat (limited to 'packages/templatetags/package_extras.py')
-rw-r--r-- | packages/templatetags/package_extras.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py index 56445832..b6868ece 100644 --- a/packages/templatetags/package_extras.py +++ b/packages/templatetags/package_extras.py @@ -1,3 +1,4 @@ +import cgi, urllib from django import template register = template.Library() @@ -6,7 +7,8 @@ class BuildQueryStringNode(template.Node): def __init__(self, sortfield): self.sortfield = sortfield def render(self, context): - qs = context['querystring'].copy() + #qs = context['querystring'].copy() + qs = dict(cgi.parse_qsl(context['current_query'][1:])) if qs.has_key('sort') and qs['sort'] == self.sortfield: if self.sortfield.startswith('-'): qs['sort'] = self.sortfield[1:] @@ -14,7 +16,7 @@ class BuildQueryStringNode(template.Node): qs['sort'] = '-' + self.sortfield else: qs['sort'] = self.sortfield - return '?' + qs.urlencode() + return '?' + urllib.urlencode(qs) @register.tag(name='buildsortqs') def do_buildsortqs(parser, token): |