我在
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