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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-livereload-server-0.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60ed030085ca53671d25704b10ec7aa3cc94a16da437b727a8dcce42471b4c65 |
|
MD5 | efbbb7647a506bde38e3012a1b5bef3c |
|
BLAKE2b-256 | fb59515d6a32b9d7339ec6cfd523b2c3c93269ced1bcbbba952189d3e0bbd610 |
Hashes for django_livereload_server-0.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 136c231e7ad3ba7a4db65426632dfa9b964ac04e8fa5f3808166447f016a4a91 |
|
MD5 | 8b8d903b5a1083e4a4e787694534b5ef |
|
BLAKE2b-256 | c682cb0a2d9a6821fb0ea45c2dd6676d9c6749aa5b8463332a2667dd64c3189a |