이메일 발송
def send_email(email):
""" """
code = "".join([str(random.randint(0, 9)) for _ in range(6)])
title = "email에 첨부될 제목"
string = "email에 첨부될 내용" + code
content = string
mail = EmailMessage(title,content,to=[email])
mail.send()
return code
- 0~9의 랜덤한 숫자값을 6개 만들어 사용자에게 발송
- code값을 리턴하는 모듈로
View.py에서 데이터베이스에 저장하는 로직이 필요하다.
정규식, 람다함수를 이용한 데이터 검증
def validated_data(email,password,username):
""" email,password,username 검증 """
password_pattern = r"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"
password_match = re.match(password_pattern, password)
email_pattern = r'^[\w\.-]+@[\w\.-]+\.\w+$'
email_match = re.match(email_pattern, email)
if not bool(password_match):
return "비밀번호가 올바르지 않습니다."
elif not bool(email_match):
return "이메일이 올바르지 않습니다."
check =[
lambda element: len(element) == len(element.replace(" ", "")),
lambda element: True if (len(element) > 1 and len(element) < 21) else False,
]
for i in check:
if not i(username):
return "유저이름이 올바르지 않습니다."
return True