Я получаю следующую ошибку при запуске моего Django проекта:
Traceback (most recent call last):
File "send_email.py", line 5, in <module>
from dota.settings import SECRET_KEY, DOMAIN, SENDGRID_API_KEY
ModuleNotFoundError: No module named 'dota'
Хорошо, я создал файл .env
в root моей папки. Я экспортировал все и сделал настройку в файле settings.py в директории dota, которая является главной директорией, где находится файл settings.py.
settings.py
:
SENDGRID_API_KEY = os.getenv('SENDGRID_API_KEY')
EMAIL_HOST = os.getenv('EMAIL_HOST')
EMAIL_HOST_USER = os.getenv('EMAIL_HOST_USER')
EMAIL_HOST_PASSWORD = SENDGRID_API_KEY
EMAIL_PORT = os.getenv('EMAIL_PORT')
EMAIL_USE_TLS = os.getenv('EMAIL_USE_TLS')
DOMAIN = os.getenv("DOMAIN")
После этого я попытался импортировать это, включая секретный ключ, который я хранил как переменную env. Вот код:
send_mail.py
:
import jwt
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail, Email
from django.template.loader import render_to_string
from dota.settings import SECRET_KEY, DOMAIN, SENDGRID_API_KEY
def send_confirmation_email(email, username):
token = jwt.encode({'user': username}, SECRET_KEY,
algorithm='HS256').decode('utf-8')
context = {
'small_text_detail': 'Thank you for '
'creating an account. '
'Please verify your email '
'address to set up your account.',
'email': email,
'domain': DOMAIN,
'token': token,
}
# locates our email.html in the templates folder
msg_html = render_to_string('email.html', context)
message = Mail(
# the email that sends the confirmation email
from_email=Email('example@gmail.com'),
to_email=Email('veljko33614@its.edu.rs'), # list of email receivers
subject='Account activation', # subject of your email
content=msg_html
)
try:
sg = SendGridAPIClient(apikey=SENDGRID_API_KEY)
sg.send(message)
except Exception as e:
return str(e)
мой send_mail.py находится в приложении users
После запуска send_mail. Я получаю эту ошибку, показанную выше.
Я дам вам дерево моих папок, чтобы вы могли понять, почему я не могу решить эту проблему. Я действительно не имею понятия.
папка моего дерева https://prnt.sc/rathyu