Django 设置 - 从管理员自定义每个站点的属性

Django settings - customize attributes per Site from admin

我正在使用 django 站点框架。

我有一个带有 OneToOneField 到站点模型的模型。这样管理员用户可以从管理面板自定义每个站点属性。

class CustomSite(models.Model):
    site = models.OneToOneField(Site)
    email_host_user = models.EmailField()
    ...

其中一些字段实际上是应该在设置文件中使用的值,例如 EMAIL_HOST_USER。

如何在自定义站点的设置文件中使用这些值?这是正确的做法吗?

找到解决方案:

使用此模型将设置保存在数据库中。然后我创建一个自定义电子邮件后端,我可以通过 'connection' 参数将其传递给 EmailMultiAlternatives()。

这样我就不需要在任何设置文件中存储电子邮件设置了。