4

向 Heroku 应用程序部署了一个新应用程序,该应用程序在 myapp.herokuapp.com 上运行良好,但如果我尝试访问 myapp.herokuapp.com/admin 上的管理后端,则会引发 500 服务器错误

INSTALLED_APPS = (
    ...
    'django.contrib.admin',
    'gunicorn',
    'storages',
    # 'django.contrib.admindocs',

)

这是日志摘录:

2013-07-10T17:35:28.893320+00:00 heroku[web.1]: Starting process with command `python manage.py run_gunicorn -b 0.0.0.0:27294 -w 3 --log-level info`
2013-07-10T17:35:32.298226+00:00 app[web.1]: 2013-07-10 13:35:32 [2] [INFO] Starting gunicorn 0.17.4
2013-07-10T17:35:32.299005+00:00 app[web.1]: 2013-07-10 13:35:32 [2] [INFO] Using worker: sync
2013-07-10T17:35:32.298932+00:00 app[web.1]: 2013-07-10 13:35:32 [2] [INFO] Listening at: http://0.0.0.0:27294 (2)
2013-07-10T17:35:32.312781+00:00 app[web.1]: 2013-07-10 13:35:32 [11] [INFO] Booting worker with pid: 11
2013-07-10T17:35:32.388874+00:00 app[web.1]: 2013-07-10 13:35:32 [12] [INFO] Booting worker with pid: 12
2013-07-10T17:35:32.495370+00:00 heroku[web.1]: State changed from starting to up
2013-07-10T17:35:32.524196+00:00 app[web.1]: 2013-07-10 13:35:32 [13] [INFO] Booting worker with pid: 13
2013-07-10T17:35:59.929850+00:00 heroku[router]: at=info method=GET path=/ host=myapp.herokuapp.com fwd="64.119.130.116" dyno=web.1 connect=0ms service=190ms status=200 bytes=12220
2013-07-10T17:36:04.363323+00:00 heroku[router]: at=info method=GET path=/admin host=myapp.herokuapp.com fwd="64.119.130.116" dyno=web.1 connect=0ms service=4ms status=301 bytes=5
2013-07-10T17:36:04.872523+00:00 heroku[router]: at=info method=GET path=/admin/ host=myapp.herokuapp.com fwd="64.119.130.116" dyno=web.1 connect=0ms service=481ms status=500 bytes=38

哪些设置会导致应用程序正常运行但在 /admin 上引发 500 错误?我可能会忽略或遗漏什么?谢谢。

4

2 回答 2

5

感谢 Magnus 的建议,我在我的项目中添加了哨兵,并发现了一个 postgres DatabaseError: relationship issue due to a project app 我没有成功迁移到 heroku 上。

修复只是做了一个假的并完成了其余的迁移。

heroku run python manage.py migrate app 0016 --fake
heroku run python manage.py migrate 
于 2013-07-10T19:31:03.880 回答
3
  • 您可以添加免费的getsentry插件并接收DEBUG=False生产中剩余的异常回溯。

  • 您还可以将错误的普通电子邮件通知设置为管理员电子邮件。

如果没有有关错误详细信息的任何信息,将很难给您建议。

于 2013-07-10T18:35:16.197 回答