首先我安装了psycopg2,然后安装了django_heroku。
设置.py
import django_heroku
import os
---
---
django_heroku.settings(locals())
下面是我在虚拟环境中安装的需求。
要求.txt
asgiref==3.2.7
certifi==2020.4.5.1
chardet==3.0.4
dj-database-url==0.5.0
Django==3.0.5
django-contrib-comments==1.9.2
django-heroku==0.3.1
gunicorn==20.0.4
idna==2.9
psycopg2==2.7.5
pytz==2020.1
requests==2.23.0
six==1.15.0
sqlparse==0.3.1
urllib3==1.25.9
whitenoise==5.1.0
在heroku master里推送后就显示出来了。
活动日志
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/tmp/build_e4e9cada1e303d2ab0fdd618bffc8af4/covid19/covid19/settings.py", line 13, in <module>
import django_heroku
ModuleNotFoundError: No module named 'django_heroku'
! Error while running '$ python covid19/manage.py collectstatic --noinput'.
See traceback above for details.
You may need to update application code to resolve this error.
Or, you can disable collectstatic for this application:
$ heroku config:set DISABLE_COLLECTSTATIC=1
https://devcenter.heroku.com/articles/django-assets
! Push rejected, failed to compile Python app.
! Push failed
其他问题到了这里,"ModuleNotFoundError。没有名为'covid19.wsgi'的模块"。但我在Procfile中使用了它。
Procfile
web: gunicorn covid19.wsgi
在了解了根目录后,我已经解决了这个问题。我的项目不在根目录下。
当我用命令创建项目时
django-admin startproject projectname
它创建了两个文件夹projectname -> projectname。
但是,如果我们发出这样的命令。
django-admin startproject projectname .
它只创建了一个文件夹projectname存放在那里。
而且它是根目录。所以,我复制了所有的应用程序和其他文件和文件夹,并粘贴到根目录,然后它的工作。