当我的DEBUG = False时,Django怎么不给我发错误?

时间:2011-01-29 19:38:42

标签: python django debugging email settings

ADMINS = [("alex", "alex@mydomain.com"), ("matt", "matt@mydomain.com")]

DEBUG = False

为什么Django不会给我发错误?我正确设置了电子邮件设置,其他所有内容都可以发送电子邮件。

EMAIL_HOST = "mail.blah.com"
EMAIL_PORT = 25
EMAIL_HOST_USER = "blah"
EMAIL_HOST_PASSWORD = "blah"
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = "blah@blah.com"

我希望通过电子邮件发送所有发生的错误。 (尽管我到处都有自己的尝试/除了块)。

2 个答案:

答案 0 :(得分:3)

来自error-reporting的django文档:

  

默认情况下,Django会发送电子邮件   来自root @ localhost。但是,有些   邮件提供商拒绝来自的所有电子邮件   这个地址。要使用不同的   发件人地址,修改   SERVER_EMAIL设置。

也许这会对你有帮助。

答案 1 :(得分:2)

我发现有一件事可以帮助我调试django中的电子邮件子系统,它是一个显示标准输出的电子邮件内容(标题和所有内容)的设置。我在下面总结了一下,但您也可以在django文档中找到更多信息(链接如下)。不确定它是否会对您的情况有所帮助,但它可能有助于调试问题...帮助您查看正在发送的内容。

在settings.py

中设置以下内容
EMAIL_HOST = "localhost"
EMAIL_PORT = 1025

运行以下命令以托管测试网络服务器

python -m smtpd -n -c DebuggingServer localhost:1025

Django文档: http://docs.djangoproject.com/en/dev/topics/email/