使用 Django 清除缓存
Cache busting with Django
我正在使用 Django 构建网站。
当我对静态文件进行更新时,用户必须硬刷新网站才能获得最新版本。
我正在使用 CDN 服务器传送我的静态文件,因此使用 Django 的内置静态存储。
我不知道最佳做法,但我的想法是在重新部署网站时生成一个随机字符串,并生成类似 style.css?my_random_string
.
的内容
不知道如何通过项目(Using Gunicorn in production)来处理这样的全局变量。
我有一个 RedisDB 运行,我可以在其中存储随机字符串并在重新部署时清除它。
我正在考虑让这个变量在带有 context_processors
的模板中全局可用。
你对此有何看法?
Django 的内置 contrib.staticfiles 应用程序已经为您完成了这项工作;参见 ManifestStaticFilesStorage and CachedStaticFilesStorage。
这是我的解决方法:
在部署时(从 bash 脚本),我得到了我的 css 风格的 shasum。
我把这个变量放在环境中。
我有一个用于模板引擎的上下文处理器,它将从环境中读取。
我正在使用 Django 构建网站。
当我对静态文件进行更新时,用户必须硬刷新网站才能获得最新版本。
我正在使用 CDN 服务器传送我的静态文件,因此使用 Django 的内置静态存储。
我不知道最佳做法,但我的想法是在重新部署网站时生成一个随机字符串,并生成类似 style.css?my_random_string
.
的内容
不知道如何通过项目(Using Gunicorn in production)来处理这样的全局变量。
我有一个 RedisDB 运行,我可以在其中存储随机字符串并在重新部署时清除它。
我正在考虑让这个变量在带有 context_processors
的模板中全局可用。
你对此有何看法?
Django 的内置 contrib.staticfiles 应用程序已经为您完成了这项工作;参见 ManifestStaticFilesStorage and CachedStaticFilesStorage。
这是我的解决方法:
在部署时(从 bash 脚本),我得到了我的 css 风格的 shasum。
我把这个变量放在环境中。
我有一个用于模板引擎的上下文处理器,它将从环境中读取。