我在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”(两种方式都对其进行了测试),都会收到错误消息。
有任何想法吗?
它正在寻找一个名为“ 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设置,直到需要它为止。
STATICFILES_DIRS