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.

Source Distribution

django-qurl-templatetag-0.0.13.tar.gz (15.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page