-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
sendgrid 환경변수
22.02.20 20:35 작성 조회수 289
0
답변을 작성해보세요.
0
이진석
지식공유자2022.02.21
"회원 가입 환영 이메일 보내기" 에피소드에서 다른 분들의 질답을 참고해보시는 것도 문제해결에 도움이 됩니다. 꼭 참고해보시구요. 단순히 에러해결에 집중하시기보다, 각각의 기능들을 파악하고 이해하시는 데에 초점을 맞추시는 것이 좋습니다.
sendgrid에서의 세팅과 파워쉘/명령프롬프트에서의 SENDGRID_API_KEY 환경변수 설정이 올바르게 세팅이 되었다면, 이메일 발송이 될 것입니다. 환경변수 세팅에서 어려움이 있으시면, settings.py 내의 SENDGRID_API_KEY 값 설정을 환경변수를 참조하지 마시고, 하드코딩으로 지정해서 테스트해보세요. 이때 주의하실 것은 절대 하드코딩된 키를 git 등의 버전관리 시스템에 커밋하셔서는 안 됩니다. 공개저장소로 운영하실 경우 key가 유출될 수 있거든요.
---
signup 뷰에서 form.save() 에서 데이터베이스에 저장을 하기 때문에, 그 이후의 signed_user.send_welcome_email() 코드에서 오류가 발생하더라도 이미 데이터베이스에 저장이 된 상황입니다.
TemplateDoesNotExist 예외가 발생하시는 것은 지정 경로에 지정 이름의 템플릿 파일이 없다는 오류입니다. 폴더명/파일명에서 미묘하게 틀린 오타가 있을 수 있습니다. 차근차근 살펴보시구요. accounts/templates/accounts/ 디렉토리에 welcome_email_content.txt, welcome_email_subject.txt 파일이 있는 지 체크해보세요. 파일명/폴더명이 정확하게 일치하도록 파일이 존재함에도 TemplateDoesNotExist 예외가 발생한다면, 현재의 템플릿 경로를 장고 개발서버가 인지하지 못하고 있는 상황일 수도 있습니다. 개발서버를 중지했다가 다시 시작해보세요. :-)
![97bennie님의 프로필](https://cdn.inflearn.com/public/main/profile/default_profile.png?w=48)
97bennie
질문자2022.02.21
감사합니다 강사님!
제가 다른 질의들을 참고했으나, 저와 같은상황인 분은 없으신듯 합니다 ㅠ
현재 문제는 template 이 없다는데,
이처럼 txt 가 존재하고,
혹여나 서버 문제일까 ctrl c 를 하고 다시해봐도 같은 결과가 나옵니다..
음.. key 값도 sendgrid 에서 복사해서 설정해주었고,
파이선쉘에서 os.environ['SENDGRID_API_KEY'] 를 통해 정상적으로 key 값이 나오는것을 확인했습니다..
환경변수 설정도 set token 을 powershell 에다 해 주었는데,
무엇이 문제일까요?
현재 상황은 위의 template 오류와 메일전송이 안되는 오류가 있습니다...
이진석
지식공유자2022.02.21
실제 파일명은 welcome_email_content.txt 이신데, 뷰 코드에서 지정하신 파일명은 welcome_email_context.txt 이십니다. 파일명이 다른 듯 하네요. :-)
0
이진석
지식공유자2022.02.20
안녕하세요.
아래 질답 확인하시어, TOKEN 대신에 SENDGRID_API_KEY 환경변수를 설정해서 진행해보시겠어요?
https://www.inflearn.com/questions/443402
화이팅입니다. :-)
![97bennie님의 프로필](https://cdn.inflearn.com/public/main/profile/default_profile.png?w=48)
97bennie
질문자2022.02.21
강사님 제가 회원가입 폼을 작성한 결과 화면이
이런식으로 나오는데,
이런식으로 뜨는데,
admin 에 들어가보면 정상적으로 회원가입은 됩니다..
파이선쉘에서도
이렇게 나타내주고
models.py 에서도
잘 작성해두었습니다...
답변 2