WEB/Django concept

[Django][Model] Admin site (admin 계정 생성, 모델 클래스 등록)

bay07 2024. 3. 14. 10:59

0. 문제

답답하게 회원가입 버튼이 없다

관리자 회원가입는 명령어로 진행한다

 

1. 관리자(admin)계정 생성 

 

이메일 안써도 됨 (선택사항)

비밀번호 입력할 때, 작성값이 안나와도 그냥 하면 됨

(보안상 터미널에 출력되지 않도록 설정되어 있다)


2. 서버 켜서 로그인 시도하기

python manage.py runserver

여기가 관리자 페이지이다

 

 

 

 

이것저것 구경

우리는 관리자 페이지에서 게시글을 쓰고 싶은데, 게시글을 쓸 수 있는 칸이 없다

그래서 우리가 만든 클래스는 직접 admin site에 등록을 해줘야한다. 

오늘 만들었던 article class를 직접 등록해주자


3. DB에 생성된 admin 계정 확인하기 

admin.py를 클릭해준다 

그리고 아래 코드를 작성해준다

 

4. admin에 모델 클래스를 등록하기 

admin.py에 작성한 모델 클래스를 등록해야한다. 

그래야 admin site에서 확인할 수 있음

 

5. admin site에 로그인해서 등록된 모델 클래스를 확인한다. 

아무것도 없긴 한데, 오른쪽에 ADD Article을 눌러준다


6. 우리가 만들었던 2개의 필드가 나오게 된다

title과 content

create, update 얘네들은 사용자가 직접 입력하는 게 아니니까 

여기에 뜨지 않는다 (auto_now, auto_add ~~ 값을 주었기 때문에)

사용자는 제목과 내용만 입력하면 된다. 

 

7. 데이터 생성, 수정, 삭제 테스트를 해본다. 

admin에서는 CRUD 다 가능함

아까 우리가 했던 model 과정이 다 끝난 상황이어야 이게 가능한 것이다

얘네는 허공에 저장된 게 아니라 DB에 저장된 것이다


8. 테이블을 확인해본다 

 

admin 페이지에서 쓴 것이 

결국 우리 DB에 글 하나 쓴 것이랑 똑같다

이래서 admin 페이지를 미리 만들어두면, 데이터를 테스트해보기 좋다.

내가 만든 테이블이 제대로 동작하는지 확인하기 위해서 

 


* 추가

(나중에는)

다음번에는 게시글을 view 함수에서 쓸 수 있도록 만들 예정이다

사용자가 제목과 내용을 써서 요청을 보내면, 사용자 데이터를 받아서 DB에 저장하는 로직을 작성할 것이다