📢 공지사항
home

Paginator

번호
26
비고
18:59
주차
5월 셋째주
확인

Paginator

: 블로그 객체를 잘라서 보내줌
페이지네이터가 글을 몇 개씩 잘라서 보내주는데 ⇒ http://127.0.0.1:8000/?page=1 과 같이 맨 뒤 숫자에 따라서 페이지 달라짐
<a href="?page=1>
/?page = pageinator.어떤페이지
장고에서 해주는 page 를 import 해야 함
blog/views.py 에서 from django.core.paginator import Paginator 추가
def home 에 다음 추가
paginator = Paginator(blogs, 3)
page = request.GET.get('page')
blogs = paginator.get_page(page)
⇒ 3개씩 보겠다
blogs/templates/home.html 의 endblock 위에 다음 코드 추가
{% if blogs.has_previous %} <a href="?page=1">처음</a> <a href="?page={{blogs.previous_page_number}}">이전</a> {% endif %} <span>{{blogs.number}}</span> <span>of</span> <span>{{blogs.paginator.num_pages}}</span> {% if blogs.has_next %} <a href="?page={{blogs.next_page_number}}">다음</a> <a href="?page={{blogs.paginator.num_pages}}">마지막</a> {% endif %}
HTML
복사

QuerySet Method

⇒ views.py
.all
.order_by('-pub_date) : 최신 글부터 보기 ... - 빼면 예전 글부터 보기
search = request.GET.get('search')
if search == 'true':
author = request.GET.get('writer')
blogs = Blog.objects.filter(writer=author) : 야매로 필터 기능 쓰기
return render(request, 'home.html', {'blogs':blogs})
⇒ home.html
h1 태그 앞에 <a href="?search=true&writer={{user.nickname}}">내가 쓴 글</a> 작성
.exclude : filter 대신 넣으면 해당 author 빼고 보여줌
→ .order_by('-pub_date) 붙일 수 있음