Отправьте письмо, используя django без файла настроек - PullRequest
0 голосов
/ 17 марта 2020

Можно ли сделать что-то подобное с помощью утилиты django sendmail?

>>> import os
>>> from django.core.mail import send_mail
>>> os.environ['EMAIL_BACKEND'] = 'django.core.mail.backends.smtp.EmailBackend'
>>> os.environ['EMAIL_HOST'] = 'smtp.sendgrid.net'
... etc.
>>> send_mail(
...     'Subject here',
...     'Here is the message.',
...     'from@example.com',
...     ['to@example.com'],
...     fail_silently=False,
... )

django .core.exceptions.ImproperlyConfigured: запрашивается настройка EMAIL_BACKEND, но настройки нет сконфигурировано. Вы должны либо определить переменную окружения DJANGO_SETTINGS_MODULE, либо вызвать settings.configure (), прежде чем получить доступ к настройкам.

Если это так, как я могу это сделать?

1 Ответ

1 голос
/ 17 марта 2020

Да, вы можете использовать Django без файла settings.py. Как говорится в сообщении об ошибке, вам придется вызвать settings.configure() для ручной настройки параметров.

>>> from django.conf import settings
>>> settings.configure(EMAIL_HOST='smtp.sendgrid.net', other_settings...)

Передать параметры, которые вы хотите переопределить, функции configure(); в противном случае Django будет использовать значения по умолчанию.


Подробнее см. В связанных документах: Использование настроек без настройки DJANGO_SETTINGS_MODULE.

...