小编典典

Heroku和Django:“ OSError:无此类文件或目录:'/ app / {myappname} / static'”

python

我在Heroku上有一个Django应用。我在使用静态文件时遇到了一些问题(它们正在一个Heroku环境中加载,但没有在另一个环境中加载),因此我尝试了这里推荐的debug命令。

$ heroku run python manage.py collectstatic --noinput
Running `python manage.py collectstatic --noinput` attached to terminal... up, run.8771
OSError: [Errno 2] No such file or directory: '/app/{myappname}/static'

这是我的settings.py,与Heroku建议的一样:

import os
import os.path

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

无论我在Git存储库的根目录级别上是否实际上有一个目录“ static”(两种方式都对其进行了测试),都会收到错误消息。

有任何想法吗?


阅读 235

收藏
2021-01-20

共1个答案

小编典典

它正在寻找一个名为“ static”的文件夹,该文件夹位于settings.py旁边,即在项目文件夹中,而不是在git repo的根目录下。

git root/
git root/{app name}
git root/{app name}/settings.py
git root/{app name}/static/         <- this is what you're missing

请注意,git不会跟踪空文件夹,因此,如果它为空,则必须在其中放置一个空白文件。或者,删除STATICFILES_DIRS设置,直到需要它为止。

2021-01-20