1 # -*- coding: utf-8 -*-
3 # This file is part of MIL/PEER, licensed under GNU Affero GPLv3 or later.
4 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
8 from django import template
10 register = template.Library()
15 {% set_get_paramater param1='const_value',param2=,param3=variable %}
16 results with changes to query string:
17 param1 is set to `const_value' string
18 param2 is unset, if exists,
19 param3 is set to the value of variable in context
21 Using 'django.core.context_processors.request' is required.
26 class SetGetParameter(template.Node):
27 def __init__(self, values):
30 def render(self, context):
31 request = template.Variable('request').resolve(context)
32 params = request.GET.copy()
33 for key, value in self.values.items():
38 params[key] = template.Variable(value).resolve(context)
39 return '?%s' % params.urlencode()
43 def set_get_parameter(parser, token):
44 parts = split(r'\s+', token.contents, 2)
47 for pair in parts[1].split(','):
51 return SetGetParameter(values)