加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

django – 部署到Heroku时不运行collectstatic命令,但设置完全正

发布时间:2020-12-20 13:09:24 所属栏目:Python 来源:网络整理
导读:我已经验证的事情: 我的collectstatic目录(是的,我称之为,减少与静态源目录的混淆)在我的仓库(通过.gitkeep文件)(如heroku documentation中所建议) heroku运行python manage.py collectstatic –dry-run –noinput works(建议here) 没有强制禁用collectstat
我已经验证的事情:

>我的collectstatic目录(是的,我称之为,减少与静态源目录的混淆)在我的仓库(通过.gitkeep文件)(如heroku documentation中所建议)
> heroku运行python manage.py collectstatic –dry-run –noinput works(建议here)
>没有强制禁用collectstatic:heroku config:添加DISABLE_COLLECTSTATIC = 0
>我正在推动一个新的提交(所以heroku实际上正在部署)

仍然,没有运行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 – 但事实并非如此.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读