qurl: una etiqueta de plantilla de Django para modificar la cadena de consulta de una URL

En las páginas de búsqueda es habitual mostrar filtros, paginación y otros enlaces útiles junto a los resultados.
Por eso escribimos la etiqueta de plantilla qurl, que permite agregar, eliminar, reemplazar o modificar parámetros de la cadena de consulta.
La documentación completa de qurl está disponible en http://django-qurl-templatetag.readthedocs.io.
Inicio rápido
Para instalar qurl, ejecuta el siguiente comando.
pip install django-qurl-templatetag
Una vez instalada, agrega qurl_templatetag a la configuración INSTALLED_APPS de tu archivo settings.py:
INSTALLED_APPS = (
# …
'qurl_templatetag',
# …
)
Uso
El siguiente ejemplo muestra cómo usar la etiqueta de plantilla qurl en un archivo de plantilla de 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' %}
Pruebas
Para ejecutar las pruebas, instala las dependencias y luego ejecuta el script runtests.py:
$ pip install -r requirements/test.pip
$ python runtests.py
Notas finales
Este proyecto de código abierto tiene licencia MIT y está disponible en nuestra organización de GitHub: