Skip to main content

Template tag for requesting views in templates (Django)

Project description

A template tag for making simulated GET requests to Django application view functions. The HTTP response can be displayed in the given template.

Variations of usage of viewssi:

{% viewssi path.to.view %}
{% viewssi path.to.view arg,arg2,kwarg=val %}
{% viewssi path.to.view arg,arg2,kwarg=val as var %}
{% viewssi path.to.view arg,arg2,kwarg=val get p1=v1,p2=v2 as var %}

The first argument is the path to a view function to call. If the view requires args and/or kwargs, pass them as the second token in the tag. args and the values of kwargs are resolved to template variables unless they are quoted.

The view doesn’t have to be exposed in a URL configuration. Essentially any function can be called that accepts one argument (the request) and returns a django.http.HttpResponse object.

You can pass a GET query string by including a get token in the tag followed by key=value pairs. Parameter values are also resolved to template variables unless they are quoted.

If the as <template-variable-name token of the tag is provided, the view’s response is assigned to the given template variable. Otherwise, the response content is returned in place.

When the response is assigned to a template variable, the http response is represented as a HttpResponseProxy object which contains a template-useable interface for fetching the response code, headers, and content. Examples:

{% ifequal response.status_code "200" %}
{{ response }}
{% endifequal %}

HttpResponseProxy behaves is a dict-like object. The http response headers are set as the dict items and their names are transposed for use in templates, i.e. ‘Content-type’ becomes ‘content_type’. For example:

{% ifequal response.content_type "text/html" %}
{% endifequal %}

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-viewssi-0.1.1.tar.gz (4.9 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