Skip to content

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

License

Notifications You must be signed in to change notification settings

gregmuellegger/django-debug-toolbar-autoreload

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published