Skip to main content

LiveReload functionality integrated with your Django development environment

Project description

This django app adds a management command that starts a livereload server watching all your static files and templates as well as a custom runserver command that issues livereload requests when the development server is ready after a restart.

Installation

Install package:

$ pip install django-livereload-server

Add 'livereload' to the INSTALLED_APPS, before 'django.contrib.staticfiles' if this is used:

INSTALLED_APPS = (
    ...
    'livereload',
    ...
)

Next you need to inject the loading of the livereload javascript. You can do this in one of two ways:

  • Through middleware by adding 'livereload.middleware.LiveReloadScript' to MIDDLEWARE_CLASSES (probably at the end):

    MIDDLEWARE_CLASSES = (
        ...
        'livereload.middleware.LiveReloadScript',
    )
  • Through a templatetag in your base.html (or similar) template:

    {% load livereload_tags %}
    ...
    {% livereload_script %}
    </head>

Either of these options will inject the livereload.js script into your webpages if DEBUG setting is on.

Configuration

If you need the livereload server to use a different host and port than the default 127.0.0.1 and 35729, specify them by setting LIVERELOAD_HOST and LIVERELOAD_PORT in settings.py.

Usage

Start the livereload server:

$ python manage.py livereload

keep the livereload server running.

Start the django development server as usual (in another console):

$ python manage.py runserver

In the browser’s address bar access your web app by doing:

127.0.0.1:8000 or localhost:8000

now every time you hit save in your editor, the django-development-server/livereload-server automatically updates the staticfiles

Customization

By default both template and staticfiles directories are watched.

You can ignore template directories using:

$ ./manage.py livereload --ignore-template-dirs

Or staticfiles directories using:

$ ./manage.py livereload --ignore-static-dirs

You can ignore file extensions:

$ ./manage.py livereload --ignore-file-extensions=.less,.scss

Extra files and/or paths to watch for changes can be added as positional arguments. By default livereload server watches the files that are found by your staticfiles finders and your template loaders.

$ python manage.py livereload path/to/my-extra-directory/

This will be excluded from the paths ignored by –ignore-template-dirs and –ignore-static-dirs.

Host and port can be overridden with --host and --port options.

$ python manage.py livereload --host=myhost.com --port=9090

the runserver command python manage.py runserver also accepts three additional options:

* ``--nolivereload`` to disable livereload functionality
* ``--livereload-host`` to override both default and settings file specified host address
* ``--livereload-port`` to override both default and settings file specified port

Background

This project is based on a merge of python-livereload and django-livereload, excellent projects both and even better for smooth django development when combined.

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-livereload-server-0.3.3.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_livereload_server-0.3.3-py2.py3-none-any.whl (22.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file django-livereload-server-0.3.3.tar.gz.

File metadata

  • Download URL: django-livereload-server-0.3.3.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for django-livereload-server-0.3.3.tar.gz
Algorithm Hash digest
SHA256 e19485da23cd762e60f7acd5591900723dad833c4a01f3b91d671ba583ff6d2f
MD5 ddb8f1fe96a52d2d35f422e86ea9f413
BLAKE2b-256 022b98f0b27b76c803cdcd316eddc41186466ffc22002776949dde1b6d33c502

See more details on using hashes here.

File details

Details for the file django_livereload_server-0.3.3-py2.py3-none-any.whl.

File metadata

  • Download URL: django_livereload_server-0.3.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for django_livereload_server-0.3.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 42961648b50dcb68fcd0a44317486330bab3adff121047da4b417a722e3f48a9
MD5 de66a7eb634da2d700cd2997711c6375
BLAKE2b-256 e2fed54ff6153194a19d83c12ad8622726de5482d15bb507ef4409ffaa5a71ab

See more details on using hashes here.

Supported by

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