본문으로 바로가기

index대신 첫화면을 login화면으로 바꾸기위해 urls 와 views를 수정하고 실행을하고 같은오류를 계속 겪었다.

왜 index 의 urls가 있는데 views에는 함수가 존재하지 않는다고 생각을 했을까???

urlpatterns = [
    path('', views.index, name='index'),

index함수가 기본설정된 로컬 url로 왜 설정되어있는지 의문만 가졌지 view.py를 정확히 살펴보지 못했다.

index 함수와 관련된 부분을 원상복구한 뒤 오류가 나지않았다.

 

인증 이메일을 보내고 인증이 된다면 비밀번호를 리셋하고 다시 로그인하는 기능을 만들어 보려고 했다.

오늘 이메일을 보내는걸 연습하면서 내가 모르는 부분을 알게되었다. forms.py를 만드는 이유도 알지못했고 class, 인스턴스, 상속을 사용하는 이유와 방법을 몰랐다. 하지만 views.py에서 장고 UserModel을 커스텀하는 원리를 알게 되었다.

class UserModel(AbstractUser):

장고에서 제공하는(저장되어있는) 양식을 들고오지만 내가 필요한 부분만 수정하고 커스텀해서 사용할 수 있다고 이해했다. 이건 이렇게 적는게 당연한거라고 그냥 이렇게 사용하는거라고만 배우고 사용하다보니 배운 그대로 이해하려고 해서 생긴일이다. 하지만 오류를 겪으면서 '왜 이렇게 되는걸까?' 를 생각하면서 혼자 공부하고 이해하는게 큰 도움이 된다고 생각한다.

 

함수를 만들어서 이메일을 보내는 것 까지는 성공했다. 이메일 인증을 다음 프로젝트때 활용하고 html까지 내가만들어서 활용하는걸 목표로 도전해볼 예정이다

#이메일 인증
from django.core.mail.message import EmailMessage

def send_email(request):
    subject = "message"
    to = ["splendent7@naver.com"]
    from_email = "splendent77@gmail.com"
    message = "메지시 테스트"
    EmailMessage(subject=subject, body=message, to=to, from_email=from_email).send()