2016-08-15 44 views
1

我正在使用Django構建的網站上工作。
當我對靜態文件進行更新時,用戶必須硬刷新網站以獲取最新版本。
我正在使用CDN服務器來傳遞我的靜態文件,所以使用Django的內置靜態存儲。
我不知道最佳做法,但我的想法是在重新部署網站時生成一個隨機字符串,並具有類似style.css?my_random_string的內容。
我不知道如何通過項目處理這樣一個全局變量(在生產中使用Gunicorn)。
我有一個RedisDB正在運行,我可以在其中存儲隨機字符串並在重新部署時清除它。
我正在考慮在具有context_processors的模板中使用全局變量。緩存與Django破解

你對此有何看法?

回答

0

這裏是我的解決方法:

在部署(從bash腳本),我得到我的CSS樣式shasum。
我把這個變量放在環境中。

我有一個環境處理器的模板引擎,將從環境中讀取。

0

Django的內置contrib.staticfiles應用程序已經爲你做了這個;請參閱ManifestStaticFilesStorageCachedStaticFilesStorage

+0

正如我所說,我正在使用CDN服務器,我已經在使用與默認存儲系統不同的存儲系統。 –