Django的。如何在不打开调试设置的情况下调试已部署的网站

时间:2014-11-11 15:35:06

标签: django debugging

我有一个已经部署并正在运行的小论坛。我刚刚发现Twitter登录有问题,我需要调试它。现在它返回500页。我无法知道Debug = True有什么问题。但是,如果我打开它,那么我将违反Django安全最佳实践,如果有人将信息保存在调试页面中(使用Debug = False)并且意图不好,他可能会造成很多麻烦。你会推荐什么?

1 个答案:

答案 0 :(得分:2)

  1. 确保您有权访问应用程序日志并正确配置AdminEmailHandler
  2. 确保您已配置ALLOWED_HOSTS属性。如果您尚未对其进行配置并设置DEBUG=False,则会看到SuspiciousOperation被提升。
  3. 仔细检查是否包含了杂费。错误的数据库连接详细信息将很快导致500错误。
  4. 您是否尝试使用DEBUG=False在本地运行?这通常是一种快速查找更多深奥错误的方法。

  5. 要根据评论进行跟进,您需要在有点实时的环境中启用DEBUG。执行此操作的标准方法是从实时环境中获得单独的暂存环境。自从使用Heroku后,您可以轻松启动单独的环境并在那里设置DEBUG=True。然后,您将看到完整的错误页面,修复错误,并部署到生产DEBUG=False


    另一个想法是设置第三方异常处理系统,如Raygun或Bugsnag。将此添加到生产应用程序将在抛出异常时为您提供报告。这是对Django默认的错误电子邮件行为的重大升级。