Artigos

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:

https://github.com/sophilabs/django-qurl-templatetag

“qurl: uma tag de template do Django para modificar a string de consulta de uma URL” por Pablo Ricco está sob a licença CC BY SA. Os exemplos de código-fonte estão sob a licença MIT.

Foto de Martin Shreder.

Classificado em Python / Código aberto / Django.

Leituras relacionadas