可以通过Heroku Shell无能为力



我正在与Heroku部署Django项目。

首先,我发现staticfiles目录不会自动创建,甚至当我运行

$ heroku run python manage.py collectstatic --noinput

(顺便说一句,没有错误)。直到知道它看起来与这个问题非常相似。然后我意识到我无法通过Heroku Shell完全创建任何文件或文件夹。

例如:

$ heroku run mkdir EXAMPLE
Running `mkdir EXAMPLE` attached to terminal... up, run.7925
$ heroku run ls
Running `ls` attached to terminal... up, run.1406
total 32
BLAH BLAH BLAH NO EXAMPLE DIR HERE

也是如此:

$ heroku run touch EXAMPLE.txt
另一方面,运行时:
$ heroku run bash

一切似乎看起来都不错,甚至是收集的。文件被收集,编辑,创建等等。但是在退出bash终端并运行

之后
$ heroku run ls

再次显示同样的问题,什么也没有改变。

也许我错过了什么...

解决方案

感谢Friism,我尝试了另一种方法。最后,唯一必要的更改是将pocfile更改为

web: python manage.py collectstatic --noinput; gunicorn app-name.wsgi

强制静态收集。

再次感谢,汤姆

heroku dyno文件系统是短暂的,并且在发行版之间也不持续变化。每次您进行heroku run时,新的Dyno都会为您旋转。这就是为什么您在运行之间没有看到更改的原因。

请参阅有关Dyno Filesystems的短暂性的注释。

相关内容

  • 没有找到相关文章

最新更新