Ни один модуль с именем 'sendgrid_backend' в django - PullRequest
0 голосов
/ 01 февраля 2020

При отправке электронного письма на heroku я получаю эту ошибку:

No module named 'sendgrid_backend'

У меня это настроено в settings.py:

EMAIL_BACKEND = "sendgrid_backend.SendgridBackend"
SENDGRID_API_KEY = os.environ.get("SENDGRID_API_KEY")
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'apikey'
EMAIL_HOST_PASSWORD = os.environ.get('SENDGRID_API_KEY')

Я также установил sendgrid с помощью pip и включил в требования .txt

Ответы [ 2 ]

1 голос
/ 01 февраля 2020

Я думаю, что это поможет вам. Сначала установите пакет

pip install sendgrid-django

, а затем создайте файл require.txt, бэкэнд электронной почты должен выглядеть так:

EMAIL_BACKEND = "sgbackend.SendGridBackend"

, или вы также можете сделать это

pip install django-sendgrid-v5
# https://github.com/sklarsa/django-sendgrid-v5
EMAIL_BACKEND = 'sendgrid_backend.SendgridBackend'
SENDGRID_API_KEY = '<SENDGRID_API_KEY>'

Я думаю, вы должны следовать это

0 голосов
/ 01 февраля 2020

После некоторого возни с этим у меня получилось:

SENDGRID_API_KEY = os.environ.get("SENDGRID_API_KEY")
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'your sendgrid user name'
EMAIL_HOST_PASSWORD = 'your sendgrid password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'your sendgrid email'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
...