Byeonguk Kim

안녕하세요. 29살의 조금은 늦은 나이로 새롭게 개발자로 시작하는 신입 개발자입니다. 포트폴리오 [https://deaguowl.github.io]

Django 17. 인스타그램(16) - 회원가입기능 구현하기1

07 May 2019 » Django

2019.05.07 인스타그램 클론 코딩하기(회원가입 기능 구현하기1)

인스타그램 만들기(16)

회원가입 기능 구현하기(1~4)

모델 폼을 통해 회원가입 기능 구현하기

  1. views를 통해 로직 구현하기
    1. POST형태로 받을 때와 처음 실행할 때 화면 구현
    2. render의 특징
    3. POST형태의 데이터 저장하기
  2. 템플릿 만들기
  3. url 연결하기
  4. 비밀번호 암호화하기
  5. forms.py를 구현하여 views.py를 간락햐게 만들기
    1. forms.py 오버라이딩하기
    2. views.py 간략히 수정하기
    3. 중복 입력 받기(commit=False)
    4. signup_complete에 회원가입한 사람 이름 띄어주기
    5. form을 통해 받은 자료 암호화하기
      1. set_password
  6. 비밀번호 재입력창 만들기
    1. 비밀번호 중복 확인하기
  7. 해로쿠를 통해 서버 배포하기

1. views.py를 통해 로직 구현하기

2FD6CE77-002F-4EF9-9FB0-F3A94B6A8BA4

  1. 입력 방식이 POST로 오면 해당 정보들을 get을 통해 받고
  2. User() 객체를 만들어서 해당 정보들을 user에 넣고 저장해준다.
  3. 그리고 render를 통해 signup_complete.html을 불러온다.
  4. else: 그렇지 않으면 (기본적으로 보여지는 형태)
  5. context_values를 dictionary 형태로 만들고
  6. render를 통해 signup.html로 옴기고, context_values를 signup.html에 포함시킨다.
  7. signup.html에 의 형태가 있으면 ‘this is form’을 불러온다.

render의 특징

  1. render란 무엇인가? (3가지를 한번에 해결해준다)
    1. 템플릿 불러오기
    2. 템플릿 랜더링 하기
      1. context_value를 해당 템플릿에 끼워넣어준다.
    3. HTTP Response하기
      1. 완료된 내용을 화면에 띄어준다.

2. 템플릿 만들기

  1. signup.html 구현하기

998AD2B8-73D8-4557-B3E5-421706DF7247

  • input태그를 활용하여 정보를 넣을 수 있게 하고 name을 넣어서 view와 일치되도록 한다.
  • method는 post 형식으로 하여서 views에서 requests==post 라는 것에 성립되도록 구현한다.
  1. signup_complete.html 구현하기

AC0E7AE6-3923-4C8D-A29B-F355A7CECC99

  • 로그인이 잘 되었다는 문구를 띄어주고
  • login url을 연결해줘서 login 하는 창으로 이동하도록 해준다.

3. url 연결하기

1E80ECA8-BA37-4434-BD0E-8F240AE8BA4D

  • path(‘signup/’, signup, name =’signup’) 연결해주기

4. 비밀번호 암호화히기(views.py 수정)

스크린샷 2019-05-07 오후 7 52 04

  • user.password = password 수정
  • user.set_password(password) 로 수정해줌으로서 admin에 들어가서 비밀번호가 잘 설정된 것을 확인할 수 있다.