Livereload functionality integrated with your Django development environment.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 7ce366f May 21, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
livereload Fix for #25 May 21, 2018
.gitignore Initial release Dec 10, 2015
.travis.yml Initial release Dec 10, 2015
CHANGES.rst Initial release Dec 10, 2015
LICENSE Initial release Dec 10, 2015 Initial release Dec 10, 2015
README.rst Merge branch 'master' into master May 2, 2018
setup.cfg Initial release Dec 10, 2015 Initial release Dec 10, 2015



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.


Install package:

$ pip install django-livereload-server

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


Add 'livereload.middleware.LiveReloadScript' to MIDDLEWARE_CLASSES (probably at the end):


Or to MIDDLEWARE for Django >= 1.10:


This will inject the livereload.js script into your webpages if DEBUG setting is on.


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


Start the livereload server:

$ python livereload

keep the livereload server running.

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

$ python runserver

In the browser's address bar access your web app by doing: or localhost:8000

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


By default both template and staticfiles directories are watched.

You can ignore template directories using:

$ ./ livereload --ignore-template-dirs

Or staticfiles directories using:

$ ./ livereload --ignore-static-dirs

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 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 livereload --port=9090

the runserver command python 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


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.