Skip to main content

Django-Live-Templates is an extension to Django and Channels which adds support for live updating Django template snippets on model changes.

Project description

Django-Live-Templates is an extension to Django and Channels which adds support for live updating Django template snippets on model changes.

This project is based upon and a partial reimplementation to Channels of SwampDragon-live which was build using SwampDragon with SwampDragon-auth and django-redis.

Installation

Install the latest version from pypi.python.org:

pip install django-live-templates

Install the development version by cloning the source from github.com:

pip install git+https://github.com/mback2k/django-live-templates.git

Configuration

Add the package to your INSTALLED_APPS:

INSTALLED_APPS += (
    'channels',
    'django_live_templates',
)

Example

Make sure to use django-redis as a Cache backend named 'django-live-templates' or 'default':

CACHES = {
    'django-live-templates': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': 'redis://localhost:6379/0',
        'OPTIONS': {
            'CLIENT_CLASS': 'django_redis.client.DefaultClient',
        }
    }
}

Load the required JavaScript template-tags within your Django template:

{% load django_live_template %}

Add the required JavaScript to your Django template:

<script type="text/javascript" src="{{ STATIC_URL }}js/django_live_template.js"></script>

Use the include_live template-tag instead of the default include template-tag, with rows being a Django database QuerySet to listen for added, changed, deleted instances:

{% include_live 'includes/table_body.html' rows=rows perms=perms %}

Use the include_live template-tag instead of the default include template-tag, with row being a single Django database Model instance to listen for changes:

{% include_live 'includes/row_cols.html' row=row perms=perms %}

Use the django_live_template variable within the included template to add the required classes to the root-tag of this template, e.g. the first tag-node:

<tr class="{{ django_live_template }}">...</tr>

You can check if your template is being live rendered by a content pusher by using the context variable is_django_live_template like this:

{% if is_django_live_template %}
<style onload="alert('Hello World!');"></style>
{% endif %}

A real-world example can be found in the Django project WebGCal:

License

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-live-templates-0.1a0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

django_live_templates-0.1a0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file django-live-templates-0.1a0.tar.gz.

File metadata

  • Download URL: django-live-templates-0.1a0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

File hashes

Hashes for django-live-templates-0.1a0.tar.gz
Algorithm Hash digest
SHA256 91db2247c26175f0b4ca2bc8a54a798ec296e8ae365064180d04ffd318a24f1d
MD5 c24214028b39086a1fcfd9780389db59
BLAKE2b-256 0be0a56e29be739d71249b1662ac49452a0c8f872bec462b5835e991495c1e22

See more details on using hashes here.

File details

Details for the file django_live_templates-0.1a0-py3-none-any.whl.

File metadata

  • Download URL: django_live_templates-0.1a0-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

File hashes

Hashes for django_live_templates-0.1a0-py3-none-any.whl
Algorithm Hash digest
SHA256 68c4a57431b6cce60b84a28b3f6f46629ff058e256f9aa4518d759b7abce98b3
MD5 22dbb3f062256c1ad9eff7f81384e256
BLAKE2b-256 6e55286abb5e0fe8193a0c4185e061fb0e1ce1a04615d71c3d159bb06781d226

See more details on using hashes here.

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