게시판에 탭 적용 관련하여 질문드립니다.
안녕하세요 이번에 점프투 장고로 처음 웹입문하여 예제따라하며 진행중입니다.
게시판을 만들고나서 게시판에 탭을 적용해보고 싶어 아래와 같이 탭을 적용하였습니다.
한 페이지에서 게시판의 글들을 카테고리별로 분류하여 탭을 선택시 해당 카테고리의 글만 보이게 하였는데
페이지 부분이 이상하게 동작합니다.
예를들어 study탭을 선택 하면 study 카테고리로 올라온글들만 보이고 페이지 처리도 잘되어있습니다.
그런데 study탭의 첫 1페이지외에 다른 페이지를 클릭하면
전체글탭의 페이지를 선택한것처럼 전체글의 클릭한 페이지로 이동하게 됩니다.
어디서 수정을 해야할지 질문드립니다.
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#tab1">All</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#tab2">QnA</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#tab3">Study</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#tab4">Etc</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade show active" id="tab1">
<table class="table">
<thead>
<tr class="text-center table-dark lyc-font-s">
<td>No.</td>
<td>category</td>
<td style="width:60%">title</td>
<td>author</td>
<td>date</td>
</tr>
</thead>
<tbody>
{% if question_list %}
{% for question in question_list %}
<tr>
<td>
<!-- 번호 = 전체건수 - 시작인덱스 - 현재인덱스 + 1 -->
{{ question_list.paginator.count|sub:question_list.start_index|sub:forloop.counter0|add:1 }}
</td>
<td>
{{question.category}}
</td>
<td>
<a href="{% url 'first_site:detail' question.id %}">{{ question.subject }}</a>
{% if question.answer_set.count > 0 %}
<span class="text-danger small mx-2">({{ question.answer_set.count }})</span>
{% endif %}
</td>
<!-- 글쓴이 추가 -->
<td style="text-align: right;">{{question.author.username}}</td>
<td style="text-align: right;">{{ question.create_date|date:"md/G:i" }}</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td colspan="5">게시글이 없습니다.</td>
</tr>
{% endif %}
</tbody>
</table>
<!-- 페이징처리 시작 -->
<ul class="pagination justify-content-center">
<!-- 이전페이지 -->
{% if question_list.has_previous %}
<li class="page-item">
<a class="page-link" href="?page={{ board_list.previous_page_number }}">before</a>
</li>
{% else %}
<li class="page-item disabled">
<a class="page-link" tabindex="-1" aria-disabled="true" href="#">before</a>
</li>
{% endif %}
<!-- 페이지리스트 -->
{% for page_number in question_list.paginator.page_range %}
{% if page_number == question_list.number %}
<li class="page-item active" aria-current="page">
<a class="page-link" href="?page={{ page_number }}">{{ page_number }}</a>
</li>
{% else %}
<li class="page-item">
<a class="page-link" href="?page={{ page_number }}">{{ page_number }}</a>
</li>
{% endif %}
{% endfor %}
<!-- 다음페이지 -->
{% if question_list.has_next %}
<li class="page-item">
<a class="page-link" href="?page={{ board_list.next_page_number }}">next</a>
</li>
{% else %}
<li class="page-item disabled">
<a class="page-link" tabindex="-1" aria-disabled="true" href="#">next</a>
</li>
{% endif %}
</ul>
<!-- 페이징처리 끝 -->
</div>
<div class="tab-pane fade" id="tab2">
<table class="table">
<thead>
<tr class="text-center table-dark lyc-font-s">
<td>No.</td>
<td>category</td>
<td style="width:60%">title</td>
<td>author</td>
<td>date</td>
</tr>
</thead>
<tbody>
{% if qna_list %}
{% for question in qna_list %}
<tr>
<td>
<!-- 번호 = 전체건수 - 시작인덱스 - 현재인덱스 + 1 -->
{{ qna_list.paginator.count|sub:qna_list.start_index|sub:forloop.counter0|add:1 }}
</td>
<td>
{{question.category}}
</td>
<td>
<a href="{% url 'first_site:detail' question.id %}">{{ question.subject }}</a>
{% if question.answer_set.count > 0 %}
<span class="text-danger small mx-2">({{ question.answer_set.count }})</span>
{% endif %}
</td>
<!-- 글쓴이 추가 -->
<td style="text-align: right;">{{question.author.username}}</td>
<td style="text-align: right;">{{ question.create_date|date:"md/G:i" }}</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td colspan="5">게시글이 없습니다.</td>
</tr>
{% endif %}
</tbody>
</table>
<!-- 페이징처리 시작 -->
<ul class="pagination justify-content-center">
<!-- 이전페이지 -->
{% if qna_list.has_previous %}
<li class="page-item">
<a class="page-link" href="?page={{ board_list.previous_page_number }}">before</a>
</li>
{% else %}
<li class="page-item disabled">
<a class="page-link" tabindex="-1" aria-disabled="true" href="#">before</a>
</li>
{% endif %}
<!-- 페이지리스트 -->
{% for page_number in qna_list.paginator.page_range %}
{% if page_number == qna_list.number %}
<li class="page-item active" aria-current="page">
<a class="page-link" href="?page={{ page_number }}">{{ page_number }}</a>
</li>
{% else %}
<li class="page-item">
<a class="page-link" href="?page={{ page_number }}">{{ page_number }}</a>
</li>
{% endif %}
{% endfor %}
<!-- 다음페이지 -->
{% if qna_list.has_next %}
<li class="page-item">
<a class="page-link" href="?page={{ board_list.next_page_number }}">next</a>
</li>
{% else %}
<li class="page-item disabled">
<a class="page-link" tabindex="-1" aria-disabled="true" href="#">next</a>
</li>
{% endif %}
</ul>
<!-- 페이징처리 끝 -->
</div>
<div class="tab-pane fade" id="tab3">
<table class="table">
<thead>
<tr class="text-center table-dark lyc-font-s">
<td>No.</td>
<td>category</td>
<td style="width:60%">title</td>
<td>author</td>
<td>date</td>
</tr>
</thead>
<tbody>
{% if study_list %}
{% for question in study_list %}
<tr>
<td>
<!-- 번호 = 전체건수 - 시작인덱스 - 현재인덱스 + 1 -->
{{ study_list.paginator.count|sub:study_list.start_index|sub:forloop.counter0|add:1 }}
</td>
<td>
{{question.category}}
</td>
<td>
<a href="{% url 'first_site:detail' question.id %}">{{ question.subject }}</a>
{% if question.answer_set.count > 0 %}
<span class="text-danger small mx-2">({{ question.answer_set.count }})</span>
{% endif %}
</td>
<!-- 글쓴이 추가 -->
<td style="text-align: right;">{{question.author.username}}</td>
<td style="text-align: right;">{{ question.create_date|date:"md/G:i" }}</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td colspan="5">게시글이 없습니다.</td>
</tr>
{% endif %}
</tbody>
</table>
<!-- 페이징처리 시작 -->
<ul class="pagination justify-content-center">
<!-- 이전페이지 -->
{% if study_list.has_previous %}
<li class="page-item">
<a class="page-link" href="?page={{ board_list.previous_page_number }}">before</a>
</li>
{% else %}
<li class="page-item disabled">
<a class="page-link" tabindex="-1" aria-disabled="true" href="#">before</a>
</li>
{% endif %}
<!-- 페이지리스트 -->
{% for page_number in study_list.paginator.page_range %}
{% if page_number == study_list.number %}
<li class="page-item active" aria-current="page">
<a class="page-link" href="?page={{ page_number }}">{{ page_number }}</a>
</li>
{% else %}
<li class="page-item">
<a class="page-link" href="?page={{ page_number }}">{{ page_number }}</a>
</li>
{% endif %}
{% endfor %}
<!-- 다음페이지 -->
{% if study_list.has_next %}
<li class="page-item">
<a class="page-link" href="?page={{ board_list.next_page_number }}">next</a>
</li>
{% else %}
<li class="page-item disabled">
<a class="page-link" tabindex="-1" aria-disabled="true" href="#">next</a>
</li>
{% endif %}
</ul>
<!-- 페이징처리 끝 -->
</div>
donkey 님 467
2022년 7월 1일 11:49 오후
+1
카테고리를 어떻게 적용하셨는지 모르겠지만 페이지 클릭 시 카테고리 정보도 함께 전달되어야 합니다.
-
박응용님,
2022년 7월 2일 10:37 오전
추천
,
대댓글

@박응용님 페이지 클릭시 카테고리정보넘긴다는게 이해는 안가지만 ㅠㅠ 내일 다시 확인해보고 다시 질문드릴게요 댓글감사합니다(__)
-
donkey님,
2022년 7월 2일 11:53 오후
추천
,
대댓글