仅为员工启用Django DEBUG = True?

时间:2014-11-17 10:21:35

标签: python django debugging

有没有办法只在用户登录时(可选择以超级用户身份)在Django设置中设置DEBUG = True时以错误页面的方式显示错误页面? I.E,当用户登录时,让Django像DEBUG = True一样工作吗?

由于DEBUG是一个常量,我猜对于超级用户请求将其设置为True不会起作用,并且会带来巨大的安全风险(你可能会忘记再次禁用它或竞争条件)可能会发生。)

有没有办法做到这一点?开发人员如何调试已经投入生产的网站? 我看到Sentry,但看起来好几天的工作才能在本地托管。我很感激django中的解决方案,Django错误页面总是足以调试我的应用程序中发生的错误(到目前为止)。

2 个答案:

答案 0 :(得分:2)

以正确的方式设置Django日志确实是一个有用的建议。

您还可以在发生服务器错误时将Django配置为向站点管理员发送电子邮件。通过这种方式,可以在发生服务器错误时实时通知您。在电子邮件中,Django将为调试提供一些有用的信息(非常类似于DEBUG = True时显示的信息)。

有关详细信息,请参阅official documentation on the topic

答案 1 :(得分:1)

设置django logger:

https://docs.djangoproject.com/en/1.7/topics/logging/

它是一个行业标准"对于这些事情,它为您提供了一系列广泛的日志记录选项,从遣散级别到分发方法