22.04.06 16:35 작성
·
383
0
답변 3
0
0
2022. 04. 08. 13:55
늘 빠른 답장에 감사드립니다... 진심으로 감사드립니다!
form부분은 말씀해주신 부분을 보고 잘 이해했습니다!
다만 메일의 경우 스팸메일함을 체크해보고, 다른 메일을 대상으로 메일을 보내보앗는데도 답장이 오지를 않더라구요ㅠㅠ
env.bat파일을 다음과 같이 만들어 두었고(뒤에는 좀 가렸습니다.)
runserver를 돌리기전에 먼저 env.bat를 실행시켜서 돌렸습니다
common.py에서 부여한 설정은 다음과 같습니다
첫줄이 선생님께서 말씀해주신 부분과 공식 홈페이지의 코드가 달라서, 둘다 해보앗는데 둘다 오지 않았습니다 ㅠ
마지막으로 models.py는 다음과 같습니다
그전 강좌에서 제가 공부한다고 추가로 phone_number라는 필드를 추가하긴했는데, 영향을 끼칠 것 같지는 않아서... 해답을 잘 모르겠네요 ㅠㅠ 뭔가 네트워크의 문제인 건지
늘 좋은 강의와 답변 감사드립니다.
0
2022. 04. 06. 22:06
안녕하세요.
send_mail 에서 예외발생없이 정상적인 반환이 되었다는 것은 메일발송 요청까지는 정상처리되었다는 것입니다.
서버를 통해 메일이 발송은 되었는 데, 수신 측에서 스팸메일로 분류를 했을 가능성이 있습니다. 스팸메일을 분류하는 것은 메커니즘은 상당히 복잡하구요. 그 기준은 메일 서비스마다 다를 수 있습니다.
스팸 메일함을 한 번 체크해보세요.
---
장고의 ModelForm은 .save(commit=True) 인스턴스 함수를 제공해주고 있습니다.
모델인스턴스.save() 가 직접적으로 데이터베이스로의 INSERT/UPDATE 쿼리를 생성/실행해주는 주체이구요. ModelForm의 .save는 내부적으로 모델인스턴스.save() 를 호출해주고 있습니다. 내부적으로 모델인스턴스.save()를 호출하고 저장한 모델인스턴스를 반환해주고 있습니다.
ModelForm save 관련코드 ( https://github.com/django/django/blob/4.0.3/django/forms/models.py#L554 ) 를 차근차근 살펴보시면 실력향상에 큰 도움이 됩니다.
화이팅입니다. :-)
2022. 04. 09. 09:16
phone_number는 메일 발송과는 직접적으로 관련이 없습니다.
인증정보가 달라서 발송이 안 되거나, 스팸함에 들어있거나. 둘 중에 하나이지 않을까 싶구요.
인증정보로서 사용되는 key가 예상과는 다르게 엉뚱하게 지정되었을 가능성도 있습니다. 장고 쉘 (python manage.py shell)을 구동하셔서 settings.EMAIL_HOST_PASSWORD 값이 원하는 대로 정확히 들어있는 지 확인해보시구요.
print(repr(settings.EMAIL_HOST_PASSWORD))
settings.py 내 EMAIL_HOST_PASSWORD에 직접 하드코딩으로 키를 지정해서 테스트해보시는 것도 한 가지 방법입니다.
당연히 문제없을 거라고 생각하고 skip했던 부분에서 문제가 발생하는 경우가 많으니, 하나하나 차근차근 체크해보세요.
화이팅입니다. :-)