gpt4 book ai didi

Django 管理静态文件在带有 Whitenoise 的 Heroku 上不起作用

转载 作者:行者123 更新时间:2023-12-02 09:30:42 27 4
gpt4 key购买 nike

我有一个部署到 heroku 的 django 站点,常规静态文件可以正常工作,但管理静态文件不能正常工作。

编辑:我正在使用gunicorn,但经过一些进一步的研究,似乎我可能需要将nginx之类的东西与gunicorn结合使用来完成我正在寻找的东西。谁能就此提出建议吗?

这是我的设置.py

PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))

STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
STATIC_URL = '/static/'

STATIC_FILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

STATICFILES_DIRS = [os.path.join(PROJECT_ROOT, "staticfiles")]

这些设置可以为我的正常静态文件提供服务,但正如我所说,管理文件不起作用。当它尝试加载静态文件时,我在控制台中收到 404 错误。当我访问管理 URL 时,我看到的是一个没有 css 的页面。只是显示登录字段和标题的原始浏览器。我无法判断这是否是白噪声的限制,我需要在其他地方托管文件,或者我是否遗漏了某些内容。我更愿意将所有内容保留在 heroku 中,因为它现在对我来说是免费的。

最佳答案

我也遇到了同样的问题 - 我的应用程序工作得很好,但是 django 管理应用程序的样式不正确,因为它在部署到 Heroku 上时找不到静态文件(它在我的本地计算机上渲染得很好)

我终于通过在本地计算机上运行collectstatic使其工作:

python manage.py collectstatic

这会在我的主项目目录中创建一个 static/目录(即与 manage.py 所在的目录相同)。然后,我将 admin/子目录移动到/static/目录(即 settings.py 所在的静态目录)。然后我重新部署到heroku,现在管理站点的样式正确了。希望这有帮助!

关于Django 管理静态文件在带有 Whitenoise 的 Heroku 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45720808/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com