I have javascript files in my static folder. Django finds and loads them perfectly fine, so I don't think there is anything wrong with my configuration of the static options. However, sometimes when I make a change to a .js file and save it, the Django template that uses it does NOT reflect those changes -- inspecting the javascript with the browser reveals the javascript BEFORE the last save. Restarting the server does nothing, though restarting my computer has sometimes solved the issue. I do not have any code that explicitly deals with caching. Has anyone ever experienced anything like this?
- 1I experienced that one, I just refresh it many times so that my new updates for js will make an update on the system.catherine– catherine2013-03-26 16:08:08 +00:00Commented Mar 26, 2013 at 16:08
4 Answers
Since you are editing JavaScript files and watching for the changes in the browser I assume you are actively developing your Django app and probably using Django's development runserver. There is a better solution than clearing the browser cache and refreshing. If you run a watcher utility that supports the livereload protocol then your browser will automatically refresh whenever you change any static file.
The django-livereload-server Python package provides a spiffy solution. Install it:
$ pip install django-livereload-server Add 'livereload.middleware.LiveReloadScript' to MIDDLEWARE_CLASSES in settings.py.
Then run
$ ./manage.py livereload before starting the runserver.
More documentation can be found at the django-livereload-server github site