22

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?

user1427661
  • 11,158
  • 28
  • 90
  • 132
  • 1
    I experienced that one, I just refresh it many times so that my new updates for js will make an update on the system. – catherine Mar 26 '13 at 16:08

4 Answers4

37

I believe your browser is caching your js

you could power refresh your browser, or clear browser cache?

on chrome control+f5 or shift + f5

i believe on firefox it is control + shift + r

dm03514
  • 54,664
  • 18
  • 108
  • 145
16

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

nmgeek
  • 2,127
  • 1
  • 23
  • 31
1

For me, opening Incognito Mode in Chrome let the browser show the recent changes in my .js static files.

Sayyor Y
  • 1,130
  • 2
  • 14
  • 27
0

To anyone who is using Firefox: If you don't want to clean your browser cache or it doesn't solve your issue, you can try doing a hard refresh (hold Shift and press the refresh button).

41v4
  • 21
  • 1
  • 3