장고의 편리한 기능 중 하나 그것은 바로 Admin 이다.
사이트 관리를 위한 관리자 전용 페이지 나는 html 만 써 이런 페이지를 제외하고는 거의 모든 웹 어플에 Admin이 존재한다 보면 된다.
왜냐 하면, 콘텐츠를 관리해야 되기 때문이다.
장고는 모델 즉 데이터베이스를 ui 가 존재하는 화면으로 관리할 수 있게끔 Admin 을 바로 만들어 준다.
아래는 장고 관리자에 대한 튜토리얼의 설명 복사글
직원들이나 고객들이 컨텐츠를 수정하기 위한 관리자 사이트를 만드는 것은 딱히 창의적일 필요없는 지루한 작업입니다. 이런 이유로, Django는 모델에 대한 관리용 인터페이스를 모두 자동으로 생성합니다. 관리자 사이트는 사이트 방문자를 위한 것이 아니라, 사이트 관리자를 위한 것입니다.
python manage.py createsuperuser
관리자 생성은 admin 이 접속하기 위한 관리자 아이디를 만드는 작업이다.
이메일 패스워드 입력후 아이디가 생성이 되엇다.
비번이 짧다 어차피 연습용이므로 pass
생성했으면 명령어를 통해 런서버 돌려놓고
로그인을 해바
로컬 도메인의 /admin 으로 이동해봐.
장고가 기본적으로 제공해주는 기능.. /admin, /polls
mysite 경로 내 urls.py 의 urlpatterns 를 봐도 그렇거든.
아무튼 로그인해서 들어가보면 위의 화면처럼 관리자 사이트에 접속이 되었으며, 현재 내 데이터 베이스 user 가 있는 것을 확인할 수 있고 우리가 등록한 모델들도 있지만 아직 보이지는 않는다.
우리가 만든 모델을 보기 위해서 admin.py 에 코드를 다음과같이 작성해 넣어라.
polls/admin.py
from django.contrib import admin
from .models import Question
admin.site.register(Question)
모델 중 하나 Question 을 지금 Admin 에 등록을 했고
브라우저에서 Admin 화면을 다시 보면 Question 을 다시 볼 수 있고 클릭해 보면 안에 질문사항인 What's up? 이 뜬다.
Admin 화면을 통해서 직접 sql 을 작성하지 않고 api 를 직접 작성하지 않고 admin 화면을 통해서 변경할 수가 있겠다.
물론 추가도 가능하고 Admin 화면을 통해서 모델안의 데이터를 생성하는 걸 확인할 수 있다. 삭제도 되고.
Django Admin 은 웹을 만들때 Admin 사이트를 만들고자 하는 시간을 절약해 주고 사이트를 편리하게 만들 수 있어 중간중간 테스트에서도 굉장히 유용하다. 잘 활용해서 수월한 웹 개발을 할 수 있고 지금 저 화면도 커스터마이징을 통해 입맛에 맞게 개발이 가능해 진다.