Django的MANAGERS和ADMINS配置项是否需要配置?有哪些作用?
Django ADMINS与MANAGERS配置常见问题解答
你提到的配置示例参考如下:
# 管理员配置 ADMINS = [ ("管理员", "admin@mail.com"), ] # 运营负责人配置 MANAGERS = ADMINS
两个配置的其他用途
ADMINS 配置
- 除了默认接收服务端500错误的邮件通知外,ADMINS是Django内置
mail_admins()邮件方法的默认收件人,你可以在业务代码中主动调用该方法推送自定义系统级告警,无需硬编码收件人列表。 - 多数Django生态的第三方开发包会默认读取ADMINS配置作为系统通知的默认收件人,无需重复配置联系人信息。
MANAGERS 配置
- 除了搭配
BrokenLinkEmailsMiddleware中间件接收站点无效链接404告警外,MANAGERS是Django内置mail_managers()邮件方法的默认收件人,适合推送和站点运营、内容相关的通知,可与ADMINS负责的技术类告警做权责划分,比如内容审核提醒、用户举报通知都可以定向推给MANAGERS。 - 部分Django内置的内容管理、站点运营相关的可选模块,会默认把运营类通知发送给MANAGERS列表,和负责技术运维的ADMINS做通知分流。
是否需要保留这两项配置
- 如果你已经全量使用Sentry、Datadog这类可观测平台承接所有错误告警,且没有用到Django内置的
mail_admins/mail_managers方法,也没有依赖这两个配置的第三方组件,可以直接删除这两项配置,不会影响Django核心功能运行。 - 如果你的项目仍在使用上述内置邮件发送方法,或者依赖的第三方包有读取这两个配置的需求,或是团队保留了邮件作为兜底告警通道的诉求,建议保留配置。如果没有权责划分的需求,直接像示例中一样设置
MANAGERS = ADMINS统一收件人即可,无需额外维护两套列表。
内容的提问来源于stack exchange,提问作者Guilherme
相关产品推荐
相关产品推荐

