Django 011 | WeStagram #2 회원가입 기능 구현

This Is Empty.·2021년 9월 23일
0

Django

목록 보기
11/20
post-thumbnail

WeStagram 회원가입

  • 이메일에는 @.이 필수로 포함되어야 한다.
  • 비밀번호는 8자리 이상, 대문자, 소문자, 숫자, 특수문자가 포함되어야 한다.
  • 기존에 존재하는 이메일을 사용할 수 없다.
  • 이메일과 패스워드는 필수로 입력해야 한다.

1. Views.py 작성

  1. 이메일과 패스워드는 필수로 입력해야 한다.

    만약 이메일과 패스워드가 전달되지 않는다면 KeyError가 발생한다.

  2. 이미 데이터베이스에 존재하는 이메일은 사용할 수 없다.

    filter메소드로 존재여부를 판별한다. 만약 존재한다면 http 400에러를 리턴한다.

❗️ 사실 애초에 emailunique속성을 추가했으므로 해당 코드가 없어도 에러를 반환한다. 명시적으로 표현하기 위해 추가했다.

  1. 이메일에는 @.이 필수로 포함되어야 한다.

    re모듈과 정규식을 사용했다. re.match는 문자열의 처음부터 시작하여 패턴이 일치되는 것이 있는지를 확인한다.
    정규식 패턴과 일치하지 않는다면 'INVAILD_EMAIL'메시지를 반환한다.

  2. 비밀번호는 8자리 이상, 대문자, 소문자, 숫자, 특수문자가 포함되어야 한다.

    정규식 패턴과 일치하지 않는다면 'INVAILD_PASSWORD'메시지를 반환한다.

  3. 생성

    성공적으로 객체를 생성했다면 {'message': 'SUCCESS'}와 함께 http 201을 리턴한다.

전체 코드

2. app path 추가

westagram/urls.py에 다음을 추가한다.

3. view path 추가

users/urls.py를 생성하고 다음을 추가한다.

4. 테스트

정상 동작

존재하는 이메일 사용

비밀번호 정규식 패턴과 일치하지 않을때

필요한 값이 전달되지 않았을때

데이터베이스에 저장된 모습

profile
Convinced myself, I seek not to convince.

0개의 댓글