멋쟁이 사자처럼 프로젝트

백엔드 django 실습 로그인, 로그아웃, 회원 가입 구현

안도일 2022. 5. 29. 00:54

1. Accounts 파일 생성

settings.py에 accounts 등록

2. Accounts/templates에 html 작성

login.html

<form> 태그 안에 method= 'post', url 설정

email, password 작성

 

Login 페이지

 

 

signup.html

태그 안에 method= 'post', url 설정

username, password1, password2(password1 확인용) 작성

 

 

Signup 페이지

 

3. Url 설정

urls.py

 

4. UserCreationForm을 상속받는 Form 작성 

forms.py

import 주의!

model User는 django에 기본적으로 포함되어 있음

 

form 작성 후

python manage.py makemigrations

python manage.py migrate 실행

 

5. login, logout 함수 구현

views.py

import 주의!

login 함수

1. 만약 요청이 post로 들어온다면 로그인 처리

1-1. login.html 14,19번째 코드  ( input 태그  name=Username, name=Password의 입력값)   username, password에 저장

1-2. auth.authenticate함수를 통해 DB에 있는 username과 password와 동일하다면 등록된 user객체 반환 

1-3. 등록된 객체가 반환된다면 auth.login을 통해 로그인하고 home.html로 이동

 

2. 만약 요청이 get으로 들어온다면 login.html을 띄워줌

 

logout 함수

1. auth.logout 함수를 통해 로그아웃

2. home.html로 이동

 

 

6. signup 함수 구현

views.py

1. 만약 post 요청이 들어온다면 회원가입 실행

2. form의 입력값이 유효하다면 form을  DB에 저장

3. form에서 username과 password1을 가져온 후 로그인 실행

4. 로그인 후 home으로 이동

5. 만약 get요청이 들어왔거나 form의 입력값이 유효하지 않다면 다시 회원가입 화면으로 이동

 

 

7. home.html 작성

home.html 일부분

 

template언어의 if문을 통해 로그인 전 화면과 로그인 후 화면 작성

만약 로그인되어 있다면 logout 표시와 사용자 표시를 보여주고,

로그아웃 되어 있다면 login표시를 보여준다.

로그인 전 home.html

 

로그인 후 home.html

 

 

 

 

 

회원 가입할 때 username, password만 사용한다면 위와 같이 작성해도 된다.