我将在 pythonanywhere 网站上运行我的项目,我完成了所有工作,但静态文件未加载。 我正在使用 Django 开发一个网站。我的静态文件位于 static_root 目录中,并且静态文件路径也在我的 Django 设置中正确设置。
但是,当我在浏览器中打开网站时,静态文件未加载。例如,当我尝试访问图像时,出现以下错误:
404 未找到:/static/images/my_image.jpg 我检查了以下内容:
static_root目录是可以访问的。 Web 服务器用户具有 static_root 目录的读取权限。 Django 应用程序 URL 模式正确指向静态文件。 我已经清除了网络服务器缓存。 我使用了 Django 调试工具栏,发现静态文件路径没有问题。 谁能帮我解决这个问题吗?
python版本:3.9 Django 版本:4.2.6
谢谢, 埃利亚斯
您可能需要提供静态文件,您可以通过配置 Whitenoise 来实现此目的,Whitenoise 是一个为您的静态文件提供服务的 Python 库。
安装:
pip install whitenoise
然后编辑您的 settings.py 文件并将 WhiteNoise 添加到中间件列表中,位于所有其他中间件之上:
MIDDLEWARE = [
# ...
"django.middleware.security.SecurityMiddleware",
"whitenoise.middleware.WhiteNoiseMiddleware",
# ...
]
将此
STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
添加到您的 settings.py。
请参阅 https://whitenoise.readthedocs.io/en/latest/ 了解更多信息。