Итак, напишите тег шаблона вокруг этого:
from urlparse import urlparse, urlunparse
from django.http import QueryDict
def replace_query_param(url, attr, val):
(scheme, netloc, path, params, query, fragment) = urlparse(url)
query_dict = QueryDict(query).copy()
query_dict[attr] = val
query = query_dict.urlencode()
return urlunparse((scheme, netloc, path, params, query, fragment))
Для более комплексного решения используйте URLObject 2 Захари Воазе, что очень хорошо сделано.
Примечание: Модуль urlparse
переименован в urllib.parse
в Python 3.