📘 Django Paginator: get_page vs get.page 차이 완벽 정리
✅ 1. 헷갈리기 쉬운 코드 비교
올바른 코드 잘못된 코드
paginator.get_page(page) | ❌ paginator.get.page |
🔍 2. 핵심 차이: 함수 vs 속성
구분 설명 예시 동작 여부
get_page() | 메서드(함수) 호출 | paginator.get_page(2) | ✅ 정상 작동 |
get.page | 객체의 속성 접근 | paginator.get.page | ❌ 존재하지 않아 오류 발생 |
📌 정리
- get_page는 **Paginator 클래스 내부에 정의된 메서드(함수)**입니다.
- 따라서 반드시 괄호 ()를 붙여 호출해야 합니다.
- get.page는 마치 get이라는 객체 안에 page라는 **변수(속성)**를 찾는 방식인데, 그런 속성은 없기 때문에 오류가 납니다.
🧠 기억 꿀팁
✅ get_page()는 함수니까 항상 괄호 ()를 붙인다!
비슷한 예로, 아래 코드도 함수 호출이죠:
page = request.GET.get('page') # get()은 dict에서 값을 꺼내는 함수
💡 함수와 속성의 시각적 비교
class Example:
def get_page(self, number):
return f"Page {number}"
ex = Example()
ex.get_page(3) # ✅ Page 3 (함수 호출)
ex.get.page # ❌ 오류: get이라는 속성에 page란 변수는 없음
✅ 결론 정리
표현 의미 결과
get_page() | 메서드(함수) 호출 → 페이지 객체 반환 | ✅ 사용해야 함 |
get.page | 속성 탐색 시도 → 그런 속성 없음 | ❌ 오류 발생 |
Django에서 함수는 항상 ()와 함께 사용해야 한다는 점을 기억하세요.
get_page()는 Paginator 객체에서 페이지 데이터를 얻는 공식적인 방법입니다!
'기술블로그-Django편' 카테고리의 다른 글
📘 Django 페이지네이션: 점(...) 생략 표시 조건 완전 정복 (0) | 2025.05.07 |
---|---|
📘 Django 페이지네이션 템플릿 코드 완전 정복 (0) | 2025.05.07 |
📘 Django 페이지네이션 완전 정리: Paginator와 page_object의 모든 것 (0) | 2025.05.07 |
📌 Django bulk_create() 완전 정리 - 대량 객체 저장할 때 쓰는 방법 (0) | 2025.05.07 |
📌 Django render()와 context 완전 정리 + 템플릿 활용 예시 (0) | 2025.05.07 |