gpt4 book ai didi

python - Django 不发送关于 500 错误的消息

转载 作者:太空狗 更新时间:2023-10-30 01:37:55 24 4
gpt4 key购买 nike

好的。所以我真的很不高兴我可能发布了另一个重复的问题,但似乎没有任何相关的东西帮助我。

所以问题是我想接收包含服务器错误消息 (500) 的电子邮件,但我没有。

我知道什么:

  1. 在我的本地机器上一切正常:我在设置 DEBUG = False 时收到消息。老实说,他们太多了。
  2. 在生产服务器上从 ./manage.py shell 中调用 django.core.mail.mail_admins() 工作正常:我收到电子邮件,就像我收到的一样由 send_email() 从 View 中发送的邮件
  3. 我在生产服务器上设置了 DEBUG = False
  4. 我试图通过弄乱我的主页模板来获取电子邮件,方法是缺少括号并将 assert 0 字符串放入我的主页 View 中。这样我的 500.html 就可以正常渲染了。
  5. 这是我在 settings.py 中的电子邮件设置:

    EMAIL_HOST = 'smtp.yandex.ru'
    EMAIL_HOST_USER = 'noreply@<project-name>.ru'
    EMAIL_HOST_PASSWORD = '<password>'
    EMAIL_PORT = 587
    EMAIL_USE_TLS = True
    DEFAULT_FROM_EMAIL = 'noreply@<project-name>.ru'
    SERVER_EMAIL = 'noreply@<project-name>.ru'

  6. 以下是我在 settings.py 中的日志记录设置:

    LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
    'require_debug_false': {
    '()': 'django.utils.log.RequireDebugFalse',
    }
    },
    'handlers': {
    'mail_admins': {
    'level': 'ERROR',
    'filters': ['require_debug_false'],
    'class': 'django.utils.log.AdminEmailHandler'
    }
    },
    'loggers': {
    'django': {
    'handlers': ['mail_admins'],
    'level': 'ERROR',
    'propagate': False,
    },
    }
    }

    我也尝试过将“传播”更改为 True,但没有成功

  7. 这是来自 settings.py 的我的管理员:ADMINS = (('xelnod', 'xelnod@gmail.com'),)
  8. 我正在使用 Django 1.7 和 Python 2.7.6
  9. 并且生产服务器在“57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux”上运行
  10. 我在这里: https://stackoverflow.com/questions/1414130/ ,
    和这里: https://stackoverflow.com/questions/17374909/ ,
    甚至在这里: https://stackoverflow.com/questions/19634962/ (所以我已经运行了 sudo apt-get install sendmail),
    在一些other places — 不幸的是,运气不好。

……我是不是漏掉了什么(我敢打赌那一定是非常愚蠢的……)?

UPD: 我注意到,当我在本地进行测试时,我只收到有关我的静态文件的电子邮件消息——与损坏的模板或 AssertionError 无关,所以,我想,这一定是我的问题错误级别或我的 500 错误还不足以让 Django 通过电子邮件发送它们……尝试将处理程序和记录器级别设置为 INFO,但没有任何改变

最佳答案

DEBUG = True 时的错误消息是什么?

也许您需要修复您的 500 模板,因为如果那个模板坏了,您将看不到 500 错误页面的 500 错误页面

关于python - Django 不发送关于 500 错误的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30825978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com