В шаблонах вы можете сделать что-то вроде следующего:
{% url 'url_name' user.id %}
{% url 'url_name'%}?param=value
{% "/app/view/user_id" %}
В первом случае строка запроса будет иметь вид "http://localhost.loc/app/view/user_id"
Во втором случае строка запроса должна иметь вид "http://localhost.loc/app/view?param=value"
В третьем это просто, но я рекомендую первый, который зависит от имени отображений URL, примененных в urls.py
Применение этого в представлениях должно быть сделано с помощью HttpResponseRedirect
#using url_names
# with standard querystring
return HttpResponseRedirect( reverse('my_url') + "?param=value")
#getting nicer querystrings
return HttpResponseRedirect(reverse('my_url', args=[value]))
# or using relative path
return HttpResponseRedirect( '/relative_path' + "?param=value")
Подсказка: получить значение строки запроса из любого другого представления
s = request.GET.get('param','')