由于Python软件包错误而无法部署Heroku

时间:2019-02-28 02:46:45

标签: django github heroku csv-import

我正在尝试将我的django应用程序上传到Heroku。它可以在本地运行,因为我已纠正了该错误,但是由于添加了白噪声以获取本地文件以便可以在Heroku上进行部署后,由于某种原因,它不断出现相同的错误。 我正在加载本地软件包csv-imports,并且在第70行有错误。

class ImportModel(models.Model):
    """ Optional one to one mapper of import file to Model """
    #this is the line with the error and I fixed it here with the on_delete
    csvimport = models.ForeignKey(CSVImport, on_delete=models.DO_NOTHING)
    numeric_id = models.PositiveIntegerField()
    natural_key = models.CharField(max_length=100)

但是当我跑步时:

git push heroku master

我在本地解决了以下错误,但似乎一直在提出Heroku。文件已被更改。我可能不在Heroku提供的正确文件路径上,我的计算机上没有app / .heroku /。但是,我的计算机上仅安装了一个csv-imports,并且该安装已如上所述修复。为什么我不断收到此错误,以及如何解决?

remote:          File "/app/.heroku/python/lib/python3.7/site-packages/csvimport/models.py", line 72, in ImportModel
remote:            csvimport = models.ForeignKey(CSVImport)
remote:        TypeError: __init__() missing 1 required positional argument: 'on_delete'
remote: 
remote:  !     Error while running '$ python manage.py collectstatic --noinput'.
emote:        See traceback above for details.
remote: 
remote:        You may need to update application code to resolve this error.
remote:        Or, you can disable collectstatic for this application:
remote: 
remote:           $ heroku config:set DISABLE_COLLECTSTATIC=1
remote: 
remote:        https://devcenter.heroku.com/articles/django-assets
remote:  !     Push rejected, failed to compile Python app.
remote: 
remote:  !     Push failed
remote: Verifying deploy...
remote: 
remote: !   Push rejected to gentle-lowlands-98196.
remote: 

1 个答案:

答案 0 :(得分:0)

问题在于您的静态目录,首先您必须运行: “ python manage.py collectstatic” 这将为您提供静态目录的路径,或者为您提供一个异常,例如您使用的是不带STATIC_ROOT目录的STATIC_URL。