Диспетчер URL не совпадает с параметрами запроса GET , поэтому, если у вас был шаблон URL, например url(r'^get_count$', view, name='get_count')
, вы просто переворачиваете URL и добавляете запрос GET, например:
from django.core.urlresolvers import reverse
from urllib import urlencode
query = (('sex', 5), ('sex', '6'), ('city', 5), ('city', 7))
url = `%s?%s` % (reverse('get_count'), urlencode(query))
Вы должны сделать это в своем представлении, поскольку оно становится немного сложным для достижения того же в ваших шаблонах, если вы не собираетесь писать статические запросы, такие как:
{% url 'get_content' %}?sex=5&sex=6&city=5&city=7
Если вашпытаясь отфильтровать набор запросов динамически, проверяя request.GET
в ваших представлениях, тогда я предлагаю вам взглянуть на django-filter
.Для его интеграции совсем не требуется времени, и это обезопасит и подтвердит запрос GET, важность которого разработчики часто упускают из виду и вводят дыры в безопасности.Использовать его так же просто, как передать request.GET
в определенный фильтр, и вы сразу получите отфильтрованный набор запросов.