django3-livesync

TODO


License
BSD-3-Clause
Install
pip install django3-livesync==1

Documentation

What's this project?

It's a simple Django application which will automatically reload your browser everytime Django Development Server is restarted or any static file or template changes. Besides this, if you connect multiple browsers and devices on your development server, these will be all synchronized.

Quick start guide

Before installing, you'll need to have a copy of Django already installed. For the current release, Django 1.8 or newer is required.

For further information, consult the Django download page, which offers convenient packaged downloads and installation instructions.

Installing

Automatic installation using PyPI

type:

pip install django-livesync

Basic configuration and use

Once installed, you can add Django LiveSync to any Django-based project you're working on. The default setup will enable the following features.

  1. Every time django development server is reloaded, all connected browsers will automatically refresh.
  2. Every time a static file or template is updated, all connected browsers will automatically refresh.
  3. Your actions will be synchronized between all connected browsers and devices. Currently supports:
    • Page scroll.
    • Page reload.
    • Element click.
    • Form fields in general.

IMPORTANT: Currently, it was only tested against Google Chrome and Mozilla Firefox web browsers.

Configuration

Installing the application

Begin by adding livesync to the INSTALLED_APPS setting of your project. By default, the daemon will start watching all your installed apps template dirs. You can also specify the following additional settings:

LIVE_PORT
This is the number of the port on which live server will run.
INCLUDED_APPS
This tells django livesync to only watch for changes in apps in this set.
EXCLUDED_APPS
This tells django livesync to ignore changes on apps in this set.

Setup Middleware

Add livesync.core.middleware.DjangoLiveSyncMiddleware to the MIDDLEWARE_CLASSES setting of your project.

IMPORTANT NOTES:

  1. If you have 'django.contrib.staticfiles' application installed, you must register 'django-livesync' before it, otherwise live server will not launch.
  2. Django LiveSync will only execute if DEBUG is set to True.

Example

You might have something like the following in your Django settings file:

DEBUG = True

INSTALLED_APPS = (
    '...',
    'livesync',
    'django.contrib.staticfiles',
    '...',
)

DJANGO_LIVESYNC = {
    'PORT': 9999 # this is optional and is default set to 9001.
}

MIDDLEWARE_CLASSES = (
    'livesync.core.middleware.DjangoLiveSyncMiddleware',
)

Once you've done this, run python manage.py runserver as usual.