簡體   English   中英

如何指示Heroku不要在部署時自動運行collectstatic?

[英]How to instruct Heroku NOT to run collectstatic automatically on deploy?

我在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" }app.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

更多關於Django在Heroku上的靜態資產

轉到Heroku儀表板 - >設置

選擇配置變量 在那里,輸入
鍵 - > DISABLE_COLLECTSTATIC值 - > 1

作為參考,您可以看到下面圖片 Heroku禁用收集靜態

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM