Odoo 개발 기초: 뷰, 메뉴, 액션, 위젯 이해 및 상속

🤖 AI 추천

Odoo 프레임워크를 처음 접하거나 관련 모듈 개발 경험이 적은 백엔드 개발자 및 풀스택 개발자에게 이 콘텐츠는 Odoo의 핵심 UI 구성 요소와 이를 효과적으로 다루는 방법을 이해하는 데 큰 도움이 될 것입니다. 특히, Odoo 애플리케이션의 사용자 인터페이스를 설계하고 커스터마이징하는 데 필요한 필수적인 지식을 제공합니다.

🔖 주요 키워드

Odoo 개발 기초: 뷰, 메뉴, 액션, 위젯 이해 및 상속

Odoo 개발 기초: 뷰, 메뉴, 액션, 위젯 이해 및 상속

이 콘텐츠는 Odoo 개발 입문자를 대상으로 Odoo의 사용자 인터페이스(UI) 구축에 필수적인 요소인 뷰(Views), 메뉴(Menus), 액션(Actions), 위젯(Widgets)의 기본 개념과 상호 연관성을 명확하게 설명합니다. Odoo 모듈 개발 시 UI 로직을 이해하고 효과적으로 구현하기 위한 실질적인 가이드를 제공합니다.

핵심 기술

Odoo 프레임워크 내에서 XML을 사용하여 UI 구성 요소를 정의하고, Python과의 연동을 통해 동적인 사용자 경험을 구현하는 방법을 다룹니다.

기술적 세부사항

  • 모듈 구조 및 데이터 파일 관리:
    • 커스텀 모듈 내 views/ 디렉토리에 .xml 파일 구성.
    • __manifest__.pydata 섹션에 뷰, 메뉴, 액션 관련 XML 파일 포함.
    • 중요: XML 파일의 선언 순서: 참조되는 ID(메뉴, 뷰, 액션 등)를 정의하는 파일이 참조하는 파일보다 먼저 리스트에 포함되어야 함 (예: menu.xmllibrary_book_views.xml보다 선행).
  • 메뉴(Menus):
    • 계층 구조 및 순서(sequence)를 통한 메뉴 구성.
    • <menuitem> 태그 사용 (id, name, parent, sequence 속성).
    • parent 속성을 이용한 서브메뉴 정의.
    • 특정 모델/뷰를 열도록 메뉴를 액션과 연결 (action 속성).
  • 뷰(Views):
    • Tree View (List View): 레코드 목록 표시. Many2many, One2many 필드도 트리 형태로 표시 가능.
    • Form View: 레코드 생성 및 편집 화면.
    • Kanban View: 스테이지 기반 워크플로우(예: CRM 파이프라인) 시각화.
    • Search View: 필터 및 그룹화 옵션 제공.
  • 위젯(Widgets):
    • 필드의 UI 표시 방식을 제어하는 컴포넌트.
    • 다양한 위젯 활용 가능 (예: 날짜, 숫자, 텍스트 등).
  • 뷰 상속 및 수정 (View Inheritance):
    • inherit_idxpath를 사용한 기존 뷰 수정 및 확장.
    • 컴포넌트 속성 수정 또는 대체 시 inherit component 사용.
  • QWeb (Templating Engine):
    • PDF 리포트, Kanban 커스터마이징, 클라이언트 사이드 렌더링에 사용.

개발 임팩트

이 콘텐츠를 통해 Odoo 개발자는 사용자 친화적인 인터페이스를 설계하고, 기존 Odoo 기능을 효율적으로 확장하며, 복잡한 데이터 시각화를 구현할 수 있는 기반을 다질 수 있습니다. 모듈 개발의 생산성을 높이고 사용자 경험을 개선하는 데 직접적인 영향을 줍니다.

커뮤니티 반응 및 추가 팁

  • 개발자 모드 활성화: 뷰 ID 및 구조를 검사하는 데 필수적입니다.
  • 실제 데이터로 테스트: 사용성 확보를 위해 실제 데이터로 뷰를 테스트하는 것이 중요합니다.

📚 관련 자료