관리자 페이지 (Django Admin)
시스템의 로우 레벨 데이터 관리, 마스터 데이터 복구 및 프론트엔드에서 지원하지 않는 세부 설정을 수행하는 기술 관리자용 백오피스 도구입니다.
- 위치: ibs.dyibs.com/admin/ (스태프 권한 및 로그인 필요)
개요
프론트엔드(Vue)가 정형화된 비즈니스 로직에 따른 업무 처리를 담당한다면, 관리자 페이지(Django Admin)은 데이터베이스의 모델(Model)에 직접 접근하여 시스템의 근간이 되는 데이터를 제어합니다. 데이터 정합성 오류 수정, 대량 데이터 관리, 프론트엔드 권한 체계의 상위 제어 등을 수행하는 '시스템 마스터 컨트롤러'의 역할을 합니다.
주요 관리 기능
- 데이터 전수 관리: 데이터베이스에 정의된 모든 앱(App)과 테이블(Model)에 대한 CRUD 작업 지원
- 사용자 및 그룹 권한 제어: 최상위 사용자 권한(
is_superuser), 스태프 권한(is_staff) 등 시스템 레벨의 권한 및 Django 기본 권한 할당 - 마스터 데이터 복구: 잘못 입력된 비즈니스 데이터나 프론트엔드에서 삭제가 제한된 데이터의 강제 수정/삭제
- 로그 및 이력 확인: 관리자 페이지를 통한 모든 데이터 변경 이력(Log Entry) 추적
- 대량 데이터 처리: 관리자 페이지(Django Admin)의 Action 기능을 활용한 다수 레코드의 상태 변경 또는 처리
앱 그룹별 관리 범위
관리자 페이지(Django Admin)은 수많은 앱을 기능별로 그룹화하여 관리합니다.
1. 계정 및 권한 (Accounts & Auth)
- 사용자(Users): 계정 생성, 비밀번호 강제 재설정, 슈퍼유저 권한 부여, 스태프 상태 관리
- 그룹(Groups): 특정 직무별 권한 그룹 정의 (현 시스템은 커스텀 권한 체계를 주로 사용함)
2. 회사 및 프로젝트 (Company & Project)
- 회사(Company): 시스템 운영 주체인 회사 정보의 로우 레벨 관리
- 프로젝트(Project): 프로젝트 생성, 상태 변경, 귀속 정보 설정
3. 핵심 비즈니스 데이터 (Business Core)
- 계약/분양(Contract/Book): 계약 상태, 동호수 지정, 일련번호 등 핵심 계약 정보 관리
- 자금/수납(Ledger/Payment): 입출금 전표, 수납 내역, 정산 일자 등 회계 데이터의 근간 관리
- 항목 관리(Items): 평형 정보, 가격표, 옵션 정보 등 기초 마스터 데이터
4. 콘텐츠 및 유틸리티 (Content & Utils)
- 문서/소송(Docs): 문서 카테고리, 사건 정보, 첨부 파일 데이터 관리
- 공지/게시판(Notice/Board): 게시물 관리, 팝업 설정 등
- 엑셀/PDF(_excel/_pdf): 각종 서식 출력 및 업로드 처리를 위한 설정 데이터
💡 주요 관리 포인트
직접 수정의 위험성 (Caution)
관리자 페이지(Django Admin)에서의 수정은 프론트엔드의 복잡한 비즈니스 로직(Validation, Signal 등)을 일부 우회할 수 있습니다. 특히 수납(Payment)이나 회계( Ledger) 데이터를 직접 수정할 경우 정산 데이터의 불일치를 초래할 수 있으므로, 반드시 데이터 구조를 숙지한 관리자만 수행해야 합니다.
권한의 이중 구조
본 시스템은 Django 기본 권한 외에 사용자 정의 권한(StaffAuth)을 별도로 운영합니다. 일반적인 메뉴 노출은 프론트엔드의 권한 설정 관리에서 제어하지만, 관리자 페이지 자체에 접근하려면 Django User 설정의 스태프 권한(is_staff) 속성이 반드시 활성화되어 있어야 합니다.
데이터 정합성 유지
프론트엔드에서 삭제되지 않는 데이터(예: 계약자가 존재하는 동호수 등)를 Admin에서 강제로 삭제할 경우 연관된 데이터들이 고아(Orphan) 상태가 될 수 있습니다. 삭제 전 반드시 연관 관계( ForeignKey)를 확인하십시오.
백업 대용량 처리
엑셀 업로드 실패 시나 대량의 기초 데이터(동호수 정보 등)를 초기에 밀어넣어야 할 경우, 관리자 페이지(Django Admin)의 기능을 활용하면 프론트엔드보다 훨씬 빠르게 작업을 수행할 수 있습니다.