일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 갓재석
- 프로그래머스
- METACLASS
- Spring
- AWS S3
- 재귀함수가 뭔가요
- DB
- AWS
- OperationalError
- depends
- javascript
- python
- 우아한테크코스 2차
- MySQL server on 'db' (115)
- TypeError: 'property' object is not iterable
- S3
- docker-compose
- classmethod
- github skyline
- python all testcode
- 코딩테스트
- 2차 코딩테스트
- Django
- docker
- classproperty
- 우아한 테크코스 2차 합격
- depends_on
- github
- EC2
- springboot 3.0.0
Archives
hanbin.dev
[Django ] Django TypeError: send_mail() missing 1 required positional argument: 'from_email' 본문
Django
[Django ] Django TypeError: send_mail() missing 1 required positional argument: 'from_email'
hanbindev 2021. 5. 22. 16:04Django로 이메일 전송을 구현하고 있는데 send_mail 함수에서 위와 같은 오류가 났다.
위 오류의 내용은 send_mail의 매개변수 from_email을 안 넘겨 줬다는 소리다.
from django.core.mail import send_mail
send_mail(
subject="Activate your DoranDoran account.",
message="Please Activate your account http://localhost:8000",
recipient_list=[user_instance.user.email],
fail_silently=False,
)
코드는 위와 같았는데, from_email 이 없다고 오류가 난다.
그런데 django.core.mail.send_mail 의 소스코드를 보면 아래와 같이 설명되어 있다.
45번째 줄을 보면 from_email 이 None이면 DEFAULT_FROM_EMAIL을 사용한다고 되어있다. 하지만 같이 써있는 auth_user는 기본값 None이 있는 반면, from_email을 기본값이 설정되어 있지 않다. 그래서 적어주지 않으니 오류가 발생하는 것이다.
결국 해결방법은 from_email을 적어주면 된다.
from django.core.mail import send_mail
send_mail(
subject="Activate your DoranDoran account.",
message="Please Activate your account http://localhost:8000",
from_email=None,
recipient_list=[user_instance.user.email],
fail_silently=False,
)
이렇게 하면 해결되긴 하지만 django 라이브러리에 일관성이 없다고 생각이 든다... PR 보내봐야 겠다.
========================================
PR 보내고 봤더니 이미 이전에 있었던 이슈였다.
'Django' 카테고리의 다른 글
[Django] Django duplicate app name "auth" (0) | 2021.05.22 |
---|