3-02 게시판 페이징 기능 추가하기 질문

현재 게시판 페이징 기능 추가하기를 하고 있는 중입니다.
도중에 아래의 코드가 해석이 안되서 질문드립니다.
비트OR이 들어가 있는데 이는 어떻게 해석해야하나요?
그리고 add:-5, add:5 가 무슨 뜻인지는 알겠습니다.
어떤식으로 작동되는지 이해가 잘 안갑니다.

{% if page_number >= question_list.number|add:-5 and page_number <= question_list.number|add:5 %}

HJ 47

M 2021년 7월 16일 12:32 오전

목록으로
1개의 답변이 있습니다. 1 / 1 Page

책에 있는 설명은 다음과 같습니다.

위 코드는 페이지 번호가 현재 페이지 기준으로 좌우 5개씩 보이도록 만든다. question_list.number보다 5만큼 크거나 작은 값만 표시되도록 만든 것이다. |add:-5는 5만큼 빼라는 의미이고 |add:5는 5만큼 더하라는 의미이다. 만약 현재 페이지가 15라면 다음 그림과 같이 페이지 번호가 나타날 것이다.

|는 OR연산자가 아니라 템플릿 필터입니다. question_list.number|add:-5 의 의미는 question_list.number - 5 와 같습니다.

박응용

M 2021년 7월 16일 8:02 오전

답변 감사합니다! - HJ님, 2021년 7월 16일 8:42 오전 추천 , 대댓글