1 | | Currently, when Django serves static files in development with `runserver` and `django.contrib.staticfiles` it doesn't provide any cache headers. In their absence, user agents are free to cache the resources [https://tools.ietf.org/html/rfc7234#section-4.2.2 however they like]. That means that when the developer updates a static resource they can't predict whether or not they will see the new version or the older cached version. |
2 | | |
3 | | Dealing with this on the user agent side isn't always easy. For example, if you're using an embedded browser in a native app you'll probably have to create a remote debugging connection to the app and use platform-specific development tools to manipulate or disable the cache. |
4 | | |
5 | | Since caching is a performance optimization that makes development more difficult and less predictable, I think it makes sense to disable it (via the appropriate HTTP headers) for static resources served in development. |