A Django template tag to modify url's query string.
The full documentation is at https://django-url-templatetag.readthedocs.org.
Install Django QUrl Template Tag:
pip install django-qurl-templatetag
After installation is done, add qurl_templatetag
to the INSTALLED_APPS
setting in your settings.py file:
INSTALLED_APPS = ( # … 'qurl_templatetag', # … )
{% 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 name++: increment the value by one name--: decrement the value by one 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' %}
A Qurl object has a set of chainable methods to modify the querystring parameters.
Available methods are:
- set: replace all values of name by one value, parameter is removed when value is None
- add: append a new value for name
- remove: remove the value of name with the value
- inc: increment the value by another value (optional, defaults to 1)
- dec: decrement the value by another value (optional, defaults to 1)
- get: build the url
from qurl_templatetag import Qurl >>> Qurl('http://www.sophilabs.co/?page=1&tags=python')\ .inc('page', value=2)\ .add('tags', 'django')\ .add('tags', 'web')\ .remove('tags', 'python')\ .get() http://www.sophilabs.co/?page=3&tags=django&tags=web
$ pip install -r requirements/test.pip $ python runtests.py
Django Qurl Template Tag is maintained and funded by sophilabs, inc. The names and logos for sophilabs are trademarks of sophilabs, inc.