我知道这个问题已被多次询问,但经过我能找到的几乎所有线索之后,我仍然在努力理解我的问题。我在heroku上有一个django项目,只要我设置设置变量debug = True就可以正常工作。 https://dry-depths-69493.herokuapp.com/
但是,一旦我将其设置为False,我就会收到500错误。我检查了settings.py,其中包含:
ALLOWED_HOSTS = ['dry-depths-69493.herokuapp.com','127.0.0.1',"localhost", "0.0.0.0", ".herokuapp.com"]
我在Django中设置了所有不必要的env变量,并且只添加了
COLLECTSTATIC: 1
我还包括了Whitenoise并添加了dj_database_url。有没有人有另一个想法,这些问题可能是什么原因?不幸的是,日志只是说这是一个500错误但没有具体细节。这是github-link: https://github.com/Datenrausch/heroku
答案 0 :(得分:0)
要获得更多调试信息,我将使用heroku-cli和命令heroku run bash
登录heroku dyno,然后使用./manage.py runserver
运行Django webserver。这样你就应该看看是否有问题。
如果正常,请在后台(./manage.py runserver &
)运行,然后尝试使用wget localhost:8000
访问主页。此时,您应该有500错误调试信息。
答案 1 :(得分:0)
这似乎是一个WhiteNoise X Heroku问题。我通过使用这篇文章的方法解决了这个问题:
Django Debug=False whitenoise not working
至关重要的是似乎是settings.py中的这一部分:
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'staticfiles')
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'