Django

[Django] Django - 2 (Admin)

김줘 2024. 10. 8. 21:58

주절주절 서론

이번 포스팅에서는 앞서 다룬

2024.10.07 - [Django] - [Django] Django - 1 (개념 및 실습)에 뒤이어 Django에서의 Admin에 대해 알아볼 예정입니다!

 

1. Django에서의 Admin?

Django에서의 Admin은 Django가 제공하는 강력한 기능 중 하나입니다!

관리자 인터페이스를 자동으로 생성하여 GUI를 통해 웹 애플리케이션의 데이터를 보다 쉽게 관리하도록 하는 기능을 제공합니다!!

그렇다면 이런 Admin 계정은 어떻게 만들까요??

 

2. Create Admin!

Django에서의 Admin 생성 방법은 shell을 통한 생성, Admin 페이지를 통한 생성. 총 2가지가 존재합니다!

2-1. Admin을 만들자! (shell)

$ python manage.py createsuperuser

해당 명령어를 shell에서 실행하게 된다면, 총 3가지의 정보를 요구받습니다!

  1. 사용자 명
  2. 이메일 - 생략 가능
  3. 비밀번호

해당 정보를 입력한 후, 성공적으로 Admin 계정 생성을 했다면, Admin 페이지에 생성한 계정으로 접속이 가능해집니다!

2-2. Admin을 만들자! (GUI)

Django 서버를 실행한 후, http://127.0.0.1:8000/admin/에 접근하면, Django의 관리자 페이지를 확인하실 수 있습니다!

http://127.0.0.1:8000/admin/

위 사진에서, Users를 확인하실 수 있는데요!

Admin또한 User이기에 Add를 클릭하여 User를 생성해보도록 합시다!

User Add!

이렇게 Username, Password를 입력하는 페이지로 이동하게 됩니다!

Username과 Password를 입력해주시고 SAVE를 클릭해주세요! (+ Password-based authentication은 Enabled로 설정해주시면 됩니다!)

Permissions

SAVE를 눌렀다면, 위와 같은 페이지로 이동하게 됩니다!

그 중 Permissions라는 항목이 존재하는데요, 저희가 지금 만드려는 것은 Admin이기에 사진에서의 Active가 아닌, Superuser status를 선택한 후 SAVE를 눌러주시면, Admin 계정이 생성된 것을 확인하실 수 있습니다!!

 

그렇다면, 이제 이 Admin 계정으로 어떤 걸 할 수 있냐면,

바로 GUI를 통한 모델 관리입니다!

앞서 실습에서 Questions, Choices라는 2개의 모델을 만들었습니다! 사진 상에는 이미 제가 등록을 진행했기에 보이지만..

여러분은 아직 보이지 않으실 거에요!

굉장히 간단하게 보이게 할 수 있으니, 끝까지 읽어주세요!

 

3. Register Model

모델을 등록해야하기에 저희가 접근할 파일은 polls/admin.py입니다!

polls/admin.py

from django.contrib import admin
from .models import *

# Register your models here.
admin.site.register(Question) # admin 페이지에 Question 모델 등록!
admin.site.register(Choice) # admin 페이지에 Choice 모델 등록!

 

이렇게 등록하려는 모델에 대한 코드를 작성한다면,

GUI를 통한 해당 모델의 데이터를 수정, 삭제, 생성하는 등 관리를 손쉽게 할 수 있게 됩니다!

 

마치며..

이번 포스팅에서는 Django의 핵심 기능 중 하나인 Admin에 대해서 알아보았습니다!

 

저는 DBA로 일한 경험이 있어서, 쿼리에는 굉장히 익숙하지만, 막상 코딩과는 거리가 생겨서 아직 헷갈리는 게 많네요!!

 

다음 포스팅에서는 모델을 쉘을 통해 다루고, 데이터를 사용하는 방법에 대해서 알아보도록 하겠습니다!

 

오늘 포스팅도 봐주셔서 감사합니다!