【问题标题】:Heroku Django-Admin 500 Error?Heroku Django-Admin 500 错误?
【发布时间】:2013-07-08 18:42:24
【问题描述】:

向 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 错误?我可能会忽略或遗漏什么?谢谢。

【问题讨论】:

    标签: django deployment heroku django-admin


    【解决方案1】:

    感谢 Magnus 的建议,我在我的项目中添加了哨兵,并发现了一个 postgres DatabaseError: relationship issue due to a project app I had not successfully migrated on heroku。

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

    heroku run python manage.py migrate app 0016 --fake
    heroku run python manage.py migrate 
    

    【讨论】:

      【解决方案2】:
      • 您可以添加免费的getsentry 插件并在生产环境中接收DEBUG=False 中剩余的异常回溯。

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

      如果没有任何关于错误细节的信息,很难给你建议。

      【讨论】:

      • Magnus,Sentry 的绝佳推荐——之前没用过。能够诊断出我自己的问题(需要为 postgres 运行生产数据库迁移)
      • 对于那些现在来到这里的人来说,Sentry 插件不是免费的。起价为 29 美元/月。
      猜你喜欢
      • 1970-01-01
      • 2022-01-19
      • 2014-02-27
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 2012-04-30
      • 2019-07-20
      • 1970-01-01
      相关资源
      最近更新 更多