• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

older버튼 누를 경우

20.02.20 16:22 작성 조회수 85

0

2페이지는 포스트 3개가 나오고 그 페이지에서 다시 older버튼을 누를 시에 에러메세지가 나와야하는거 아닐까요? ㅠ 왜 2페이지에서 바로 에러메세지가 나오는지 이해가 잘 안가서요 ㅠ 3페이지가 없다는건 알겠는데,,ㅠ

답변 2

·

답변을 작성해보세요.

0

상빵님의 프로필

상빵

질문자

2020.02.23

죄송합니다. 제가 질문 남기는 부분을 착각했습니다.

답변 감사합니다~!

0

이 질문은 pagination에 관한 설명에 대한 질문이군요?! Post List 페이지 테스트 코드를 작성하는 부분에 질문을 남기신 것으로 착각해서 영상을 다 돌려보느라 답변이 늦어졌습니다. 

https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC/lecture/18834

pagination에 대해 설명한 위 영상에 설명이 나오긴합니다. (다른 수강생분들이 헷갈리실까봐 다른 영상에 관한 질문임을 남겨둡니다)

2페이지는 포스트 3개가 나오고 그 밑에 페이지네이션 버튼이 보여져야 하죠. 장고는 2페이지를 방문자에게 보여주려고 합니다. 이때 post_list.html 템플릿파일의 아랫부분에 있는 <a class="page-link" href="?page={{ page_obj.next_page_number }}"> 부분을 만나죠. 여기에 괄호로 채워진 부분에 다음 페이지 번호를 장고가 채워 넣으려고 하지만, next_page_number가 2페이지에는 없습니다. 왜냐하면 다음 페이지가 존재하지 않기 때문이죠. 그래서 장고가 2페이지를 만드는 과정에서 다음페이지가 뭔지 모르겠다고 에러를 내는 것입니다. 

그래서 "다음 페이지가 있는지"를 먼저 확인하는 과정을 if문으로 앞에 만들어줘야 문제가 없습니다.