본문 바로가기

[Python] django 장고 관리자(admin)

액트 2022. 8. 29.
반응형

장고 관리자를 사용하기 위해서는 장고 관리자 화면에 접속할 수 있는 일명 루트라 불리우는 슈퍼유저를 먼저 생성해야 합니다. 

슈퍼유저 생성 방법은 다음 명령어를 수행합니다.

(myvenv) c:\projects\mysite>python manage.py createsuperuser

각종 정보를 입력해야 합니다.

이름, 메일 주소, 패스워드을 입력하면 생성이 완료됩니다.

 

장고 관리자 페이지 접속

슈퍼유저가 생성되었으니 로컬 서버를 구동한 후 http://localhost:8000/admin/ 페이지에 접속해 봅시다.

접속이 안되시면 서버를 재시작 해주시면 됩니다.

사용자 이름과 비밀번호를 입력합니다.

 

모델 관리

Question 모델을 관리자에 등록해 봅시다. 

mysite\pybo\admin.py 파일을 수정합니다.

from django.contrib import admin
from .models import Question

# Register your models here.
admin.site.register(Question)

admin.site.register로 Question 모델을 등록했습니다. 

그리고 장고 관리자 화면을 갱신해 보면 다음과 같이 Question이 추가된 것을 확인할 수 있습니다.

 

이제 장고 관리자 화면에서 Question 모델을 관리할 수 있습니다.

신규 질문을 생성할 수 있고 조회, 수정, 삭제도 가능합니다. 

관리자 화면의 Quesitons의 "+추가" 를 클릭해 봅시다.

Question 을 신규로 생성할 수 있는 화면입니다.

입력 항목란들을 채우고 "저장" 버튼을 클릭해 봅시다. 

방금 추가한 Question 을 포함하여 총 3개가 확인 가능합니다.

 

모델 검색

이번에는 관리자 화면에서 제목(subject)으로 질문 데이터를 검색해 봅시다.

다음처럼 pybo\admin.py 파일을 수정합니다.

from django.contrib import admin
from .models import Question


class QuestionAdmin(admin.ModelAdmin):
    search_fields = ['subject']


admin.site.register(Question, QuestionAdmin)

Question 모델에 세부 기능을 추가할 수 있는 QuestionAdmin 클래스를 생성하고 제목 검색을 위해 search_fields 속성에 'subject'를 추가했습니다.

이렇게 하면 다음처럼 검색 기능이 추가된 화면을 볼 수 있습니다.

검색어로 "장고"를 입력하고 검색을 클릭하면 다음과 같이 제목에 "장고" 문자열이 있는 Question 데이터를 조회합니다.

 

 

점프 투 장고 책을 보면서 공부한 내용을 기록하였습니다. 보다 정확하고 자세한 내용은 책을 참고해 주시기 바랍니다.

반응형

댓글