qurl: uma tag de template do Django para modificar a string de consulta de uma URL

Nas páginas de busca, é comum mostrar filtros, paginação e outros links úteis junto aos resultados.
Por isso, escrevemos a tag de template qurl, que permite adicionar, remover, substituir ou alterar parâmetros da string de consulta.
A documentação completa do qurl está disponível em http://django-qurl-templatetag.readthedocs.io.
Primeiros passos
Para instalar qurl, execute o seguinte comando.
pip install django-qurl-templatetag
Após a instalação, adicione qurl_templatetag à configuração INSTALLED_APPS do seu arquivo settings.py:
INSTALLED_APPS = (
# …
'qurl_templatetag',
# …
)
Uso
O exemplo a seguir mostra como usar a tag de template qurl em um arquivo de template do Django.
{% load qurl %}
{% qurl url [param]* [as <var_name>] %}
Parameters:
name=value: replace all values of name by one value
name=None: remove all values of name
name+=value: append a new value for name
name-=value: remove the value of name with the value
Example:
{% qurl '/search?page=1&color=blue&color=green' order='name' page=None color+='red' color-='green' %}
Output: /search?color=blue&order=name&color=red
{% qurl request.get_full_path order='name' %}
Testes
Para executar os testes, instale as dependências e depois execute o script runtests.py:
$ pip install -r requirements/test.pip
$ python runtests.py
Notas finais
Este projeto de código aberto tem licença MIT e está disponível na nossa organização do GitHub: