使用 Django 3
我按照 Django Doc https://docs.djangoproject.com/en/3.0/ref/contrib/staticfiles/#manifeststaticfilesstorage 导出带有哈希附加的静态文件。
settings.py制作
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
static_root 文件夹(输出)
static_root/
staticfiles.json
static_root/css/
project_styles.87c2920e7bc3.css
project_styles.css
一切都正确收集。
之后我将所有内容上传到我的 apache 静态服务器。我开始/评论STATICFILES_STORAGE
。这就是我对Doc的理解?如果我在生产中保留此设置,我会得到一个500 Error
.
settings.py制作
# STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
在生产中重新启动我的 Django 应用程序后,我的网站仍在加载project_styles.css
,但我的浏览器中没有哈希版本 project_styles.87c2920e7bc3.css
。即使我删除project_styles.css
Django 也不会提供哈希版本。
问题
我错过了settings.py
生产模式中的一些设置吗?在文档中,他们提到要设置STATICFILES_STORAGE = django.contrib.staticfiles.storage.StaticFilesStorage
,但没有任何区别。正如它所提到的,它仅用于测试。
我必须做什么才能在生产中加载正确的静态哈希版本?我是否必须在我的模板中设置一些东西,以便 django 将查看 json 文件以获取正确的哈希版本?还是我必须命名哈希文件?