Web/Django

Django(장고) 관리자 계정 생성 및 관리자 페이지 사용하기

daeunnniii 2021. 8. 2. 01:59
728x90
반응형

1. 슈퍼유저(superuser)

장고 관리자를 사용하기 위해선, 장고 관리자 화면에 접속할 수 있는 슈퍼유저를 먼저 생성해야함.

슈퍼유저 생성 명령어는 다음과 같다.

python manage.py createsuperuser

다음과 같이 사용자 이름, 메일 주소, 패스워드를 설정해준다. 비밀번호를 간단한 것으로 설정하면 아래와 같이 경고 문자가 출력된다. 실제로는 이렇게 취약한 비밀번호를 사용하면 안되지만, 연습용이므로 y를 눌러 그대로 진행했다.

 

2. 장고 관리자 화면

python manage.py runserver 명령어를 터미널에 입력하여 로컬 서버를 구동한 후, http://localhost:8000/admin 페이지로 접속하면 다음과 같은 화면을 볼 수 있다. 앞서 설정한 사용자 이름과 비밀번호를 입력하여 로그인해보자. 로그인을 완료하면 오른쪽과 같이 관리자 화면이 나온다.

 

 

3. 모델 관리

Django 관리자 화면에서는 이전 게시물에서 배웠던 모델(model)을 관리할 수 있다.

이전 게시물에서 작성했던 Question 모델을 관리자에 등록해볼 것이다.

admin.site.register는 모델을 관리자 화면에 등록하는 명령어이다.

admin.py에 다음과 같이 수정하고 관리자 화면을 갱신하면 Question이 추가된다.

오른쪽 '추가' 버튼을 클릭하면 데이터를 추가할 수 있고, 이외에도 데이터 조회, 수정, 삭제가 모두 가능하다!

 

4. 모델 검색

관리자 화면에서 특정 필드로 데이터를 검색하기 위해서는 admin.py를 조금 더 수정해주어야한다.

admin.py 파일을 다음과 같이 수정해준다. Question 모델에 세부기능을 추가할 수 있는 QuestionAdmin 클래스를 생성하고 '제목' 속성으로 검색을 진행하기 위해 search_fields 속성에 subject를 추가한다.

from django.contrib import admin
from .models import Question

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

admin.site.register(Question, QuestionAdmin)

그러면 원래는 이랬던 화면이

이렇게 검색창이 추가된 것을 볼 수 있다!

이제 "장고"라고 검색해서 검색창 기능을 사용해보면 제목에 "장고"가 포함되어있는 데이터가 잘 조회되는 것을 볼 수 있다.

 

 

 

 

 

장고 관리자의 추가적인 기능 참고: https://docs.djangoproject.com/en/3.0/ref/contrib/admin/

참고자료: https://wikidocs.net/70718

 

728x90
반응형