Datastar와 Django 통합: Datastar는 AlpineJS와 HTMX의 기능을 결합한 프레임워크로, Django 백엔드와 연동하여 하이퍼미디어 애플리케이션을 구축하는 방법을 시연합니다. 🔗
Datastar Python SDK (datastar-pi): Datastar는 모든 백엔드 응답이 Server-Sent Events (SSE)를 사용하도록 요구하며, datastar-pi 라이브러리는 Django, FastAPI 등 다양한 Python 백엔드에서 SSE 응답을 쉽게 구성할 수 있도록 돕습니다. 🐍
점진적 정보 공개 (Progressive Disclosure): 대량의 데이터를 한 번에 표시하는 대신, '클릭하여 더 불러오기' 패턴을 통해 사용자에게 정보를 점진적으로 공개하여 인지 과부하를 방지하고 성능을 향상시킵니다. 📈
Django Paginator 활용: Django의 내장 Paginator 유틸리티를 사용하여 데이터베이스에서 특정 수의 항목(예: 5개)을 페이지별로 효율적으로 가져오고 관리합니다. 📄
하이퍼미디어 응답 처리: Datastar 요청은 Datastar-Request: true HTTP 헤더를 포함하며, Django 뷰는 이 헤더를 감지하여 DataStarResponse 객체를 반환함으로써 새로운 UI 조각(예: 추가 테이블 행)을 클라이언트에 전송합니다. 🔄
템플릿 부분화 (Template Partials): 재사용 가능한 UI 컴포넌트(예: 테이블 행)를 별도의 템플릿 파일로 분리하여 코드의 모듈성과 유지보수성을 높입니다. 🧩
클릭 이벤트와 URL 매개변수: 버튼의 data-on-click 속성을 사용하여 Datastar가 다음 페이지 번호를 포함하는 GET 요청을 백엔드로 보내도록 설정합니다. 🖱️