게시글 번호, 답변 개수

Red_Panda·2021년 3월 25일
0

지금 게시글 번호를 보면 20~1 순으로 반복되고있다. 원하던 게시글번호는 전체게시글중에서 몇번째 글인지 나타내는것이였다.

게시물 번호를 공식으로 만들어 세우면 된다

300개를 20개씩 1페이지로 나타냈을때 최근 게시물부터 300, 299, 298,... 1 이렇게 나타낼것이다.
지금은 300번째가 20번, 281번째가 1번, 280번째가 20번, 261번째가 1번 이런식으로 반복되어있다.
전체 기준으로 나타내려면

번호 = 전체 게시물 - (현재페이지 -1)*현재 페이지당 게시물 - 0~19번째중 몇번째 인덱스

이 된다.
예를들어 2페이지의 맨위인 280번째의 경우 300 - (2-1)*20 - 0 = 280가 된다.

기존 역순으로 나타냈던 loop.revindex를 위 밑줄 코드와 같이 바꿔줬다.
loop.index0은 0부터 시작하는 인덱스값 반환이다.
index0을 사용한 이유는 1페이지당 20개의 게시물일때, 각 페이지의 첫번째 게시물 번호는 300, 280, 260... 이런식으로 된다.
그러면 위에서 말한 공식에 성립하려면 0~19를 빼야한다.

그리고 loop의 속성은 index0을 포함해 여러가지가 있다.

loop.index : 1부터 시작, 인덱스 값 반환
loop.revindex : 반대부터 시작, 시작값 1기준으로 인덱스 값 반환
loop.index0 : 0부터 시작, 인덱스 값 반환
loop.revindex0 : 반대부터 시작, 시작잢 0기준으로 인덱스 값 반환
loop.first : 첫번째 루프에 해당하는지 True/False 반환
loop.last : 마지막 루프에 해당하는지 True/False 반환
loop.length : 전체 루프 길이 반환


내가 생성한 3개 + 임시로 생성한 300개 총 303개로 잘 나온다.

question.answer_set을 이용해 제목 옆에 답변개수를 달아줬다. 제목을 출력하는 td 태그안에
question.answer_set|length > 0 일경우, 답변의 길이를 나타내면 된다.

profile
신입 개발자

0개의 댓글