Study/Django

[Django] 관리자 사용하기 (7)

taecongs 2023. 9. 8. 15:56

Django 공부하기 ✨
참고 사이트 : 파이보 (점프 투 장고)


슈퍼유저(superuser)란 무엇인가?

  • 웹 애플리케이션의 관리자 계정을 나타내는 특별한 사용자 계정이다.
  • Django 애플리케이션의 모든 부분을 제어하고 모든 데이터를 관리할 수 있는 권한을 가지고 있다.

 

(1) 슈퍼유저(superuser) 생성하기

  • username: 아이디를 입력한다.
  • Email address: 본인의 이메일을 입력한다. (생략 가능)
  • Password : 비밀번호 입력한다.
  • Password(again): 전과 동일하게 패스워드를 입력한다.
// (1) 슈퍼유저(superuser) 생성하기
(mysite) C:\projects\mysite>python manage.py createsuperuser
Username (leave blank to use 'asdlq'): admin
Email address: admin@mysite.com
Password: 1111
Password (again): 1111
This password is too short. It must contain at least 8 characters.
This password is too common.
This password is entirely numeric.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

(mysite) C:\projects\mysite>
  • 패스워드 길이가 8자 이하 이면 Bypass password validation and create user anyway 라는 문구가 표시 되며 이러한 경우 y를 눌러 넘어가면 된다.
  • localhost:8000/admin/ 통해 관리자 페이지로 접속할 수 있다.

 

(2) 모델 관리

  • Question 모델을 관리자에 등록하기 위해 admin.py 파일을 수정해야 한다.
// (2) pybo/admin.py 파일 수정하기
from django.contrib import admin

from .models import Question   // 추가된 항목
admin.site.register(Question)  // 추가된 항목
  • admin.site.register로 Question 모델을 등록한 뒤, 장고 관리자 화면을 갱신해 보면 다음처럼 Question이 추가된 것을 확인할 수 있다.

 

  • 장고 관리자 화면에서 Question 모델을 관리할 수 있다.

 

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

 

  • 정상적으로 데이터가 추가 된 것을 확인 할 수 있다.

 

(3) 모델 검색

  • 관리자 화면에서 제목(subject)으로 질문 데이터를 검색하기 위해 admin.py 파일을 수정해야 한다.
// (3) pybo/admin.py 파일 수정하기
from django.contrib import admin

from .models import Question

class QuestionAdmin(admin.ModelAdmin):         // 추가된 항목
    search_fields = ['subject']


admin.site.register(Question, QuestionAdmin)   // 추가된 항목
  • 세부 기능을 추가할 수 있는 QuestionAdmin 클래스를 생성한 뒤 제목 검색을 위해 search_fields 속성에 'subject'를 추가했다.

 

  • 제목에 "장고"라는 문자열이 있는 Question 데이터가 조회된다.