본문 바로가기
App Programming/Django

[Django] 기본 요소 (2)

by goatlab 2023. 2. 20.
728x90
반응형
SMALL

Viewsets

 

모델의 컨트롤러들의 집합이다. 일반적으로 객체 생성과 객체 리스트 조회, 객체 상세 조회, 객체 수정, 객체 삭제가 있다.

 

  • queryset
  • serializer_class
  • permission_classes

 

ulrs.py

 

https://tutorial.djangogirls.org/en/django_urls/

 

URL은 웹 주소이다. 웹사이트를 방문할 때마다 URL을 볼 수 있다. URL은 브라우저의 주소 표시줄에 표시된다.

 

  • as_view : HTTP 메서드와 컨트롤러를 매칭

 

AbstractUser

 

사용자 정의 회원 모델을 위한 Django의 추상 모델이다. 필요한 필드가 있다면 하위 모델에서 정의한다.

 

  • USERNAME_FIELD : 사용자를 식별하는데 사용
  • REQUIRED_FIELDS : USERNAME 필드는 항상 필수
  • settings.py에 AUTH_USER_MODEL 설정

 

유저 모델을 한번 정의하면 다른 모델로 바꾸기 어렵다.

 

USER 기본 유저 모델
AbstractUser 상속 받아서 쓸 수 있는 유저 모델 (필드만 정의)
AbstractBaseUser 상속 받아서 쓸 수 있는 유저 모델 (필드와 동작을 정의)

 

BaseUserManager

 

create_user 일반 사용자 생성
create_superuser 관리자 사용자 생성

 

회원 인증

 

  • authenticate(request, username=None, password=None) : 인증이 유효하면, 사용자 객체를 반환
  • login(request, user) : 실제 로그인 동작으로 세션에 사용자 이름의 정보 저장

 

회원 모델

 

  • pk : 고유키
  • email : 사용자 이메일
  • username : 사용자 이름
  • password : 비밀번호
  • profile : 프로필 사진
  • Description : 사용자 소개
  • authcode : 인증 코드
  • created : 사용자 생성 시간
  • updated : 사용자 정보 업데이트 시간

 

회원 가입

 

  • settings.py 설정
  • 모델 정의
  • 매니저 정의
  • 뷰 정의
  • urls 정의
  • 테스트
728x90
반응형
LIST

'App Programming > Django' 카테고리의 다른 글

[Django] REST API  (0) 2023.02.21
[Django] 프로젝트 생성  (0) 2023.02.20
[Django] 기본 요소 (1)  (0) 2023.02.20
[Django] Search (검색 기능)  (0) 2023.02.17
[Django] CRUD  (0) 2023.02.17