首页 > 解决方案 > Heroku实际上并没有复制静态文件吗?

问题描述

我最近更改了 django 应用程序的目录结构,这迫使我设置DISABLE_COLLECTSTATIC并指定 collectstatic 以在发布时运行。查看部署日志 - 我没有发现任何问题:

/app/.heroku/python/lib/python3.8/site-packages/environ/environ.py:637: UserWarning: Error reading /app/.env - if you're not configuring your environment separately, check this.
  warnings.warn(
Adding $DATABASE_URL to default DATABASE Django setting.
Adding $DATABASE_URL to TEST default DATABASE Django setting.
Applying Heroku ALLOWED_HOSTS configuration to Django settings.
Applying Heroku logging configuration to Django settings.
Adding $SECRET_KEY to SECRET_KEY Django setting.
548 static files copied to '/app/static', 1574 post-processed.

但是,当我尝试访问我的站点时,我无法访问任何静态文件。此外,如果我打开一个 shell 到 heroku 中heroku run bash,静态目录(我有一个static提交给 git 的空目录)是完全空的。所以heroku说它复制了静态文件,但据我所知 - 它没有。

有没有人知道这是怎么发生的?我正在使用 webpack 和 whitenoise 来提供静态文件。

标签: djangoherokuwebpackcollectstaticwhitenoise

解决方案


推荐阅读