Django - Generic & Class-Based Views! (an alternative to functions)
- Django 뷰는 함수 기반 뷰와 클래스 기반 뷰 두 가지 방식으로 작성 가능 💡
- 클래스 기반 뷰는 객체 지향 프로그래밍을 활용하여 뷰를 클래스로 정의 🏗️
- Django는 제네릭 뷰를 제공하여 코드 양을 줄이고 개발 효율성을 향상 🚀
- 함수 기반 뷰와 클래스 기반 뷰 선택은 개인의 선호도에 따라 달라질 수 있음 🤔
- 클래스 기반 뷰는 웹 개발에서 공통 패턴을 캡슐화하는 데 유용 📦
- 제네릭 뷰는 데이터베이스에서 데이터를 가져오고 템플릿을 렌더링하는 과정을 간소화 ⚙️
- URL 설정에서 함수 대신 클래스를 가리키도록 변경해야 함 🔗
- 클래스 기반 뷰는 Django 모델 또는 쿼리셋과 밀접하게 연결되어 있음 🗄️
- 템플릿 이름, 컨텍스트 객체 이름 등을 클래스 필드로 정의하여 뷰 동작을 설정 ⚙️
- DetailView를 사용하여 URL 파라미터를 기반으로 개별 객체를 가져올 수 있음 🎯
- DetailView는 기본 키(PK) 또는 슬러그를 사용하여 객체를 식별 🔑
- 컨텍스트 객체 이름을 변경하여 템플릿에서 사용할 변수 이름을 사용자 정의 가능 ✏️
- 클래스 기반 뷰는 함수 기반 뷰보다 더 많은 "마법"이 숨어 있을 수 있음 🎩
- 자동화된 테스트는 Django 애플리케이션의 기능이 예상대로 작동하는지 확인하는 데 유용 🧪
- 테스트는 코드 변경 시 발생할 수 있는 문제를 방지하는 안전망 역할 🛡️