Source code for scipost.templatetags.add_get_parameters

__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"


from django import template

register = template.Library()


[docs]@register.simple_tag(takes_context=True) def add_get_parameters(context, **kwargs): parameters = context["request"].GET.copy() for k, v in kwargs.items(): if v is not None: parameters[k] = v elif k in parameters.keys(): del parameters[k] if parameters: params = "?" for k, v in parameters.items(): if k != "page": # remove any pagination params += "&%s=%s" % (k, v) return params.replace("?&", "?") # remove extra & of first parameter return ""