Чтобы избежать строк запросов, вы можете использовать URL-маршрутизацию Django. Задача будет заключаться в том, чтобы создать соответствующие ссылки для ваших ссылок.
У Django есть удобный тег шаблона URL . Вы можете использовать его, чтобы определить URL-адрес для данного имени URL-адреса и его параметров.
В вашем urls.py у вас может быть что-то вроде:
url(r'^sort/(\d{4})/(\d{2})/$', 'funkysort', name='funkysort'),
Я использую функцию url ** в моем urlconf (urls.py), чтобы было проще назвать мой URL. Я называю свой URL ради тега шаблона {% url%}.
В вашем шаблоне вы можете сделать:
{% url funkysort 5 10 %}
и Django сгенерирует что-то вроде:
/mysite/sort/5/10/
** Примечание. Это отличается от тега шаблона URL. Если вы хотите сделать эквивалент тега шаблона URL в вашем коде, используйте функцию reverse .