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

如何指示Heroku不要在部署时自动运行collectstatic?

发布时间:2020-12-20 11:52:26 所属栏目:Python 来源:网络整理
导读:我在 GitHub上有一个基于Django的项目,我希望每个人都能够使用一键式部署按钮进行部署.它不使用django.contrib.staticfiles应用程序. 我在项目的根目录下有以下app.json文件: { "name": "Django project","description": "A hello world Django-based proje
我在 GitHub上有一个基于Django的项目,我希望每个人都能够使用一键式部署按钮进行部署.它不使用django.contrib.staticfiles应用程序.

我在项目的根目录下有以下app.json文件:

{
  "name": "Django project","description": "A hello world Django-based project","repository": "https://github.com/john-doe/django-project","keywords": ["python","django"],"scripts": {
    "postdeploy": "python manage.py migrate --noinput"
  },"addons": [
      "heroku-postgresql"
  ],"success_url": "/","env": {
    "SECRET_KEY": {
      "description": "A randomly generated secret to secure your Django installation.","generator": "secret"
    }
  }
}

问题是,即使我在INSTALLED_APPS列表中没有’django.contrib.staticfiles’,当有人试图部署我的应用程序时,Heroku会自动运行python manage.py collectstatic –noinput,导致构建失败.

如何指示Heroku不要在部署时运行collectstatic?

解决方法

只需将“DISABLE_COLLECTSTATIC”:{“value”:“1”}添加到a??pp.json中的env对象,如下所示:

"env": {
  "DISABLE_COLLECTSTATIC": {
    "description": "Don't run python manage.py collectstatic --noinput on deploy","value": "1"
  }
}

如果您的现有Heroku应用程序具有以下命令,您也可以从终端执行此操作:

heroku config:set DISABLE_COLLECTSTATIC=1

More about Django’s static assets on Heroku

(编辑:李大同)

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

    推荐文章
      热点阅读