Skip to main content

Automatically reloads your browser when a template, css or javascript file was modified.

Project description

django-debug-toolbar-autoreload

THIS MODULE IS NO LONGER MAINTAINED

I decided to stop the development on this project since there are now more mature solutions to the same problem. I personally prefer to use gulp to observe files for changes and to start a livereload server that can be used with your browser’s livereload plugin.

Here is an example gulpfile.js that does nearly the same as the autoreload feature of this package:

var gulp = require('gulp'),
    livereload = require('gulp-livereload'),
    watch = require('gulp-watch');

var watchPaths = [
    'templates/**.html',
    'static/**.js',
    'static/**.css',
];

gulp.task('watch', function() {
    gulp.src(watchPaths)
        .pipe(watch())
        .pipe(livereload());
});

If you still have interest in this project and want to maintain it, just drop me a message and we can discuss the details.

This package contains an extra panel for the excellent django-debug-toolbar.

The purpose is to automatically reload the page if a template that was used to render the current page is changed. It is for your browser what the runserver’s auto-reload feature is for your python code.

Watch this screencast for a short introduction: http://www.youtube.com/watch?v=zQSoJF70if4

Install

  1. Put the debug_toolbar_autoreload source folder in your PYTHONPATH.
  2. Add 'debug_toolbar_autoreload' to your INSTALLED_APPS settings.
  3. Add 'debug_toolbar_autoreload.AutoreloadPanel' to your DEBUG_TOOLBAR_PANELS.

This means your settings file should look something like:

INSTALLED_APPS = (
    # ... other apps ...
    'debug_toolbar',
    'debug_toolbar_autoreload',
)

DEBUG_TOOLBAR_PANELS = (
    # default panels
    'debug_toolbar.panels.version.VersionDebugPanel',
    'debug_toolbar.panels.timer.TimerDebugPanel',
    'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
    'debug_toolbar.panels.headers.HeaderDebugPanel',
    'debug_toolbar.panels.profiling.ProfilingDebugPanel',
    'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
    'debug_toolbar.panels.sql.SQLDebugPanel',
    'debug_toolbar.panels.template.TemplateDebugPanel',
    'debug_toolbar.panels.cache.CacheDebugPanel',
    'debug_toolbar.panels.signals.SignalDebugPanel',
    'debug_toolbar.panels.logger.LoggingPanel',

    # autoreload panel
    'debug_toolbar_autoreload.AutoreloadPanel',
)

Requirements: Django 1.4 or higher is required since we need a multithreaded development server.

Contribute

  1. Download and setup the project:

    git clone https://github.com/gregmuellegger/django-debug-toolbar-autoreload.git
    cd django-debug-toolbar-autoreload
    virtualenv .
    source bin/activate
    pip install -r requirements/development.txt
    python manage.py syncdb
    python manage.py runserver
    
  2. Open one of the demo pages from http://localhost:8000/ in your browser.

  3. Hack

  4. Send a pull request

Changelog

0.2.0

  • Don’t reload the whole page if only a css file was changed. Instead load CSS in place.
  • Adding CHANGES.rst to MANIFEST.in which caused errors during install.

0.1.1

  • Try to detect if development server wants to shutdown. Before this change was the server still running in the background and didn’t allow you to restart it again.

0.1.0

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-debug-toolbar-autoreload-0.2.0.tar.gz (9.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page