django – 部署到Heroku时不运行collectstatic命令,但设置完全正
我已经验证的事情:
>我的collectstatic目录(是的,我称之为,减少与静态源目录的混淆)在我的仓库(通过.gitkeep文件)(如heroku documentation中所建议) 仍然,没有运行collectstatic.我还能检查什么? 编辑 另外,我在settings.py中正确定义了STATIC_ROOT.相关部分如下: STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR,'collectstatic/') STATICFILES_DIRS = ( os.path.join(BASE_DIR,'static'),) EDIT2 我安装的应用程序只是股票django 1.9: INSTALLED_APPS = [ 'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',] EDIT3 有一点我必须提到,这可能是相关的:DISABLE_COLLECTSTATIC先前已设置为1(因此强制禁用)为这一个heroku应用程序,但我已确保它现在设置为0. 也许Heroku中的一个错误阻止它使用最新值?我想检查这个的唯一方法是创建一个新的heroku应用程序. 解决方法
所以,不知道发生了什么,但创建一个新的Heroku实例并推送到空配置实际上触发了collectstatic.
我怀疑Heroku没有正确评估对DISABLE_COLLECTSTATIC的更改. 编辑 实际上,似乎DISABLE_COLLECTSTATIC = 0也会阻止collectstatic运行.要确保collectstatic运行,请执行以下操作: heroku config:unset DISABLE_COLLECTSTATIC 我会说Heroku documentation有点令人困惑,因为它似乎暗示DISABLE_COLLECTSTATIC = 0实际上会运行collectstatic – 但事实并非如此. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |