Настройки Django - настроить атрибуты для каждого сайта от администратора

Я использую фреймворк для сайтов Django.

У меня есть модель с моделью OneToOneField to Site. Таким образом, пользователи-администраторы могут настраивать атрибуты каждого сайта из панели администратора.

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

Некоторые из этих полей на самом деле являются значениями, которые должны использоваться в файле настроек, например EMAIL_HOST_USER.

Как я могу использовать эти значения в файле настроек пользовательских сайтов? это правильный подход?

1 ответ

Решение

Нашел решение:

Настройки сохраняются в БД с использованием этой модели. Затем я создаю пользовательский почтовый бэкэнд, который я могу передать EmailMultiAlternatives() через параметр "connection".

Таким образом, мне не нужно хранить настройки электронной почты в любом файле настроек.

Другие вопросы по тегам