장고 Admin 사용하기
장고 Admin을 사용하려면 슈퍼 유저를 먼저 생성해야 한다. 슈퍼 유저는 쉽게 말해 장고 운영자 계정이라 생각하면 된다.
(1단계) 슈퍼 유저 생성하기
명령 프롬프트> python manage.py createsuperuser
-. 사용자 이름: admin (다른 것을 입력해도 된다.)
-. 이메일 주소: admin@mysite.com (가상의 이메일 주소 입력)
-. Password : 기억하기 쉬운 것으로 입력하자. (여기서는 admin)
이때 단순한 비밀번호를 입력하면 경고 메시지가 나오는데 이를 무시하는 옵션으로 "Bypass password validation and create user anyway?" 질문에 y를 입력하자.
(mysite) D:\projects\mysite>python manage.py createsuperuser 사용자 이름: admin 이메일 주소: admin@mysite.com Password: Password (again): 비밀번호가 사용자 이름와 너무 유사합니다. 비밀번호가 너무 짧습니다. 최소 8 문자를 포함해야 합니다. 비밀번호가 너무 일상적인 단어입니다. Bypass password validation and create user anyway? [y/N]: y Superuser created successfully. (mysite) D:\projects\mysite> |
(2단계) 장고 Admin에 접속해 로그인하기
장고 개발 서버를 구동한 후 localhost:8000/admin에 접속하여 admin에 접속해 보자.
(개발 서버 구동: python manage.py runserver)
장고 Admin에서는 현재 등록된 그룹 및 사용자에 대한 정보 확인과 수정을 할 수 있다.
(3단계) 장고 Admin에서 모델 관리하기
우리는 Question, Answer 모델을 만들었다. 이 모델들을 장고 Admin에 등록하면 손쉽게 모델을 관리할 수 있다. 쉽게 말해 장고 셸로 수행했던 데이터 저장, 수정, 삭제 등의 작업을 장고 Admin에서 할 수 있다.
pybo/admin.py 파일을 열어서 아래와 같은 코드를 입력하여 Question모델을 장고 Admin에 등록하자.
from django.contrib import admin from .models import Question # Register your models here. admin.site.register(Question) |
(4단계) 장고 Admin 새로고침 하기
장고 Admin을 새로고침하면 Question 모델이 추가되어 있는 것을 확인할 수 있다.
이제 장고 셸이 아닌 장고 Admin화면에서 Question 모델 데이터를 직관적으로 관리할 수 있다.
(5단계) Question 모델 데이터 추가하기
화면에서 Question 모델의 [+추가] 버튼을 클릭한다. 그러면 Question 모델의 데이터 등록 화면이 나타난다. 속성 값을 입력하고, [저장] 버튼을 클릭하면 데이터가 추가된다.
(6단계) 장고 Admin에 데이터 검색 기능 추가하기
장고 Admin에서 제목으로 질문을 검색할 수 있도록 검색 항목을 추가하자.
pybo/admin.py 파일에 QuestionAdmin 클래스를 추가하고, search_fields에 'subject'를 추가하자.
from django.contrib import admin from .models import Question # Register your models here. class QuestionAdmin(admin.ModelAdmin): search_fields = ['subject'] admin.site.register(Question, QuestionAdmin) |
(7단계) 장고 Admin에 데이터 검색해 보기
장고 Admin으로 돌아가서 새로고침을 하면 검색 기능이 추가되었음을 확인할 수 있다. 검색어로 '장고'를 입력하고 [검색] 버튼을 클릭하자.
그러면 제목에 '장고'가 포함된 Question 모델 데이터만 조회가 된다.
여기까지.
'개발자모드 > 혼자공부하는파이썬' 카테고리의 다른 글
[장고#08] URL 하드코딩 없애는 방법 (ft. URL별칭, 네임스페이스 사용) (1) | 2022.08.25 |
---|---|
[장고#07] 질문 목록과 질문 상세 기능 구현 (ft. 템플릿등록, 화면추가, render 함수사용, URL매핑) (0) | 2022.08.23 |
[장고#05] SQLite 설치, 장고ORM기능, 모델생성, 테이블 생성/저장/조회/수정/삭제 (ft. 장고에 앱등록하기, 장고 쉘shell 실행하기) (0) | 2022.08.16 |
[장고#04] 주소와 화면을 연결하는 URL과 뷰(view) (0) | 2022.08.09 |
[장고#03] 파이참 다운로드 후 설치, 인터프리터 설정, 장고개발서버 실행 (ft. 개발서버 한글로 변경-setting파일수정) (0) | 2022.08.05 |
댓글