code: def param_redirect(request, viewname, *args):
      
      url = reverse(viewname, PARAMS_URL_CONF, args)
      params = request.GET.urlencode().split('&')
  
      if hasattr(request, 'cparam'):
          for k, v in request.cparam.items():
              params.append('{0}={1}'.format(k, v))
  
      new_params = '&'.join(x for x in params if x != '')
      if len(new_params) > 0:
          return HttpResponseRedirect('{0}?{1}'.format(url, new_params))
      return HttpResponseRedirect(url)
docs: Redirect and keep URL parameters if any.