<HOXY LUSH? (3)>

On a regular basis·2021년 5월 13일
0

Project_HOXYLUSH?

목록 보기
3/6
post-thumbnail

🦖 1차 프로젝트 <HOXY LUSH?> 🦖
오늘은 회원가입&로그인 models.py를 토대로 views.py 마무리를 했다. 통신하는 것 때문에 속도가 좀 더뎌진게 맘에 걸리지만 하나하나 꼼꼼하게 해나가고 있는 것 같아서 걱정되면서도 뿌듯했다.

오늘 배운 것!

😇 1. 코드컨벤션에 따라 모듈을 구분해주는 것.

  • python 자체 모듈
  • django 모듈
  • 사용자 생성 모듈
import json # 파이썬 자체모듈
import bcrypt
import jwt
import re
from django.views         import View #django 모듈
from django.http          import JsonResponse
from json.decoder         import JSONDecodeError
from users.models         import User #사용자 생성 모듈
from my_settings          import SECRET_KEY, ALGORITHM

😇 2. 정규표현식! (유효성 검사를 위한 정규표현식)

🦕 email_validation    = re.compile('^[a-z0-9]+@[a-z0-9]+\.[a-z0-9.]+$', re.I)
🦕 password_validation = re.compile(r'^(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*]).{8,}', re.I)
if not email_validation.match(email):
   return JsonResponse({"MESSAGE" : "INVALID_EMAIL"}, status=400)
if not password_validation.match(password):
   return JsonResponse({"MESSAGE" : "INVALID_PASSWORD"}, status=400)
  • email과 password에 대해 validation을 정의해주고, if문을 통해 유효성 검사를 진행해주기!... 그냥 외울까?...?

😇 3. 중복값 없애기

if User.objects.filter(phone_number=data.get('phone_number')).exists()\
   and data.get('phone_number') != None:
   return JsonResponse({'MESSAGE': 'ALREADY_EXISTS'}, status = 400)

if User.objects.filter(nickname=data.get('nickname')).exists()\
   and data.get('nickname') != None:
   return JsonResponse({'MESSAGE' : 'ALREADY_EXISTS'}, status = 400)

Q를 쓰라고 말씀을 해주셨는데 Q를 썼다가 중복을 제대로 거를 수가 없어서 if문, filter값을 활용하고 None값이 아닌 것을 조건으로 주어서 phone_number와 nickname의 중복값을 걸러주었다.

  • data['nickname'] 과 data.get('nickname')차이?
    data['nickname']으로 정의하면 닉네임 값이 들어오지 않을 시 바로 에러가 나오고 data.get('nickname')으로 정의 시 null값으로 들어옴!

😇 4. 토큰 발행 할 때, algorithm도 my_settings에 추가해주기!

access_token = jwt.encode({"account" : user.id}, SECRET_KEY, algorithm = ALGORITHM)

# 쪼기에 있는 알고리즘을 ![](https://velog.velcdn.com/images%2Fmajaeh43%2Fpost%2Fb7cafade-f809-48fb-aaf1-35716bfdf70d%2Fimage.png) 요렇게 추가!

😇 5. 상태코드 401과 404의 차이?
상태코드 401은 인증이 안돼 자원을 이용할 수 없는 상태고, 미인증 상태를 의미!
상태코드 404는 원하는 경로 파일, 자원등을 찾을 수 없을 때 발생함. (경래님 답변!)

😇 조심해야할 부분!
pull받고 makemigration, migrate 챙기기.
commit message 주의해서 올리기 *링크텍스트(https://www.notion.so/wecode/Commit-Message-Guidelines-eb3d8ebc0d014c26848ee628934ae430)
통신할 때, 에러메시지 다 확인하기 -> 내가 쓴 코드에 대해서 정확하게 다 파악하고 있기.

😇 내가 오늘 배운 것을 느리더라도 천천히 소화시켜주기.
행복하려고 배우는 코딩인데 행복지수가 점점 낮아지는 것 같은 기분이 들때가 있다. 그치만 순간순간 감사하면서 1초 1초 더 나아지고 성장하고 싶은 맘이다. 그만 징징대고 오류와의 혈투를 피하지 않겠다......................................................

profile
개발 기록

0개의 댓글