장고 기초 복습하기 순서
- 가상환경 실행
1.가상환경 접속하기

2.makemigrations - migrate
python manage.py makemigrations
python manage.py migrate
두 명령어를 이용해서 db에 적용시킨다.
3. createsuperuser
admin 페이지에 접속하기 위해 관리자 계정을 생성한다.

4. 어드민 페이지 확인

원래는 users라는 목록이 뜨지 않고 아래 그룹만 존재하고 있다. users는 나중에 admin.py 에 추가한 것
5. settings.py에 app 추가

6. user model 작성

Users 클래스가 상속 받은 AbstractUser는 이미 django 안에 기본으로 내장되어 있는 클래스이다 .
7. settings.py에 유저 등록

8. admin.py에 등록하지 않은 경우
admin 페이지에서 모델에 등록한 Users를 다시 등록해줘야 관리자 페이지안에서 관리 할 수 있다.

회원가입 만들기
9. urls 등록하기

include 를 이용하여 users 앱안에 urls.py 에 연결해준다.

users앱 안에 urls.py에 등록되어있는걸 확인 할 수 있다.

다음과 같이 views.py 안에 signup이라는 기능함수가 작성되어있다.
GET으로 오는 매서드를 render를 이용해서 signup.html 이라는 url로 보내는 부분과 POST로 매서드가 들어올때는 확인 작업을 거쳐 정보를 저장하는 코드가 구현되어 있다.

template 기본 틀을 만들기 위해 ! 엔터를 사용해서 기본 틀을 만들어주고 <body 안에 form을 생성해준다
form 을 생성하는 이유는 회원가입을 페이지 안에 넣은 정보들을 POST라는 형태로 전해주기 위한 것이고 (form action부분을 보면 탬플릿 문법으로 users라는 app_name을 가진 signup이라는 url로 매서드를 보내주는 내용이 있다) 이를 urls.py 에서 받은 후에 Views.py에 있는 Views.signup으로 보내주게 되고 다시 이 requset를 signup 함수에서 확인하고 매서드 형태에 맞게 기능을 동작하게 하기 위함이다.
회원가입 기능 구현 확인

아래 template이 뜨는걸 확인하고 정보를 입력해보면

이와 같이 뜨는 걸 확인 할 수 있다.

최종적으로 db안에 저장되는것도 확인하면 회원가입은 완료되었다.