Skip to main content

A Django template tag to modify url's query string.

Project description

Django QUrl Template Tag

https://img.shields.io/pypi/v/django-qurl-templatetag.svg https://img.shields.io/travis/sophilabs/django-qurl-templatetag.svg Documentation Status Updates https://img.shields.io/codecov/c/github/sophilabs/django-qurl-templatetag.svg

A Django template tag to modify url’s query string.

Documentation

The full documentation is at https://django-url-templatetag.readthedocs.org.

Quick Start

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',
    # …
)

Tag Usage

{% 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' %}

Library Usage

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

Tests

$ pip install -r requirements/test.pip
$ python runtests.py

About

https://res.cloudinary.com/jsconfuy/image/upload/c_pad,f_auto,h_200,w_200,e_trim/v1426608244/xuwbunompvfjaxuazlwo.png

Django Qurl Template Tag is maintained and funded by sophilabs, inc. The names and logos for sophilabs are trademarks of sophilabs, inc.

History

0.0.3 (2016-11-14)

  • Third release on PyPI.

0.0.2 (2016-09-29)

  • Second release on PyPI.

0.0.1 (2013-11-14)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-qurl-templatetag, version 0.0.13
Filename, size File type Python version Upload date Hashes
Filename, size django-qurl-templatetag-0.0.13.tar.gz (15.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page