책을 읽으면서 얼렁뚱땅 공부했던 장고를 조금 더 구체화해 보았다.
모델
장고셀
admin
장고에서 제공하는 강력한 기능 중 하나.
다른 프레임워크를 사용할 경우, 이 관리자페이지를 직접 만들어주어야 하는 반면에 django에서는 admin을 제공해 준다.
python3 manage.py createsuperuser
이름, 메일, 비밀번호를 입력하면 생성해준다.
이렇게 슈퍼유저가 생성되고 나면, http://localhost:8000/admin/ 에 접속했을 때 관리자 계정으로 로그인이 가능해짐.
근데 궁금한 것이, admin.py는 새로 생성한 app에 존재한단 말이지...?
그렇다면 admin 기능은 app단위로 제공하는 것인가??
그래 아무튼. 그래서 admin에 model을 추가해줄 수도 있다.
from .models import Question
admin.site.register(Question)
근데 왜 .models지? 원래 module은 .을 붙이나..?
.models라는 모듈에서 Question이라는 class를 import해오는 과정이라는 것만 알겠음.
그러면 아래와 같은 것이 추가됨.
굳이 장고셀 사용할 필요도 없이, 질문 생성, 수정, 삭제 다 됨.
질문 데이터 검색도 되는데, 이를 위해서는 admin.py에 몇 줄의 코드를 추가해 주어야 한다.
class QuestionAdmin(admin.ModelAdmin):
search_fields = ['subject']
이외에도 admin에는 다양한 기능이 있다고 하니 궁금하다면 공식문서를 참고할 것.