我正在使用Django构建的Web应用程序。它已经部署并运行了一段时间。现在我必须对JS文件和CSS文件进行一些更改。进行更改后,我无法看到应用程序中反映的更改。如果我浏览它们,我也无法看到这些文件中的更新代码。虽然我可以在服务器上看到更新的文件。
我在浏览器中删除了cookie而没有任何运气。我正在使用firefox。
我还使用以下建议代码清除了django缓存:
from django.core.cache import cache
cache._cache.flush_all()
我还使用:
重新启动了memcached服务器service memcached restart.
我使用Centos作为服务器端操作系统。
我需要寻找缓存刷新的其他哪些方面?
我注意到的另一件事:它会在6个多小时后自动刷新几个小时。我上传的一个文件差不多12个小时了,现在我可以看到变化了。我必须在实时环境中对这些文件进行频繁更改,但这实际上阻止了我前进。我不允许在我的本地环境中提取整个Web应用程序,因此我必须坚持使用这种工作模式。
答案 0 :(得分:1)
冲洗可以通过以下方式完成:
python3 manage.py clear_cache
您可能还需要收集和压缩静态文件,以及清除Django的静态文件缓存:
python3 manage.py collectstatic --noinput --clear
python3 manage.py compress --force
这必须以具有部署目录权限的用户身份完成,以便为Django提供服务的Web服务有权阅读这些内容。
Django缓存文件通常可以在以下目录中看到:
.../static/CACHE/css/
.../static/CACHE/js/
旁注:
如果系统具有netcat
,则可以更好地刷新memcached而不重新启动它,因为您说您正在更改生产环境。显然,你的情况并不理想,但除此之外。如果有人进入页面时Django可能无法使用缓存,则抛出internal server error (500)
。
echo 'flush_all' | netcat localhost 11211
或者memcached实例的端口是什么。