Til

Til - 24.04.17 스파르타 마켓 - Django 장고 개인과제

dini_dini 2024. 4. 17. 21:03

지금까지 구현한것

-로그인 로그아웃 회원가입

-게시물올리기 상세페이지 , 수정, 삭제 

-상세페이지 좋아요기능

 

 

 

해야할것

-gitignore

-이미지 업로드 : 사진을 안올리면 기본이미지는 뜨지만 올리면 사진이 안뜨는 오류

-팔로우 팔로워 

-메인화면에서 좋아요갯수와 좋아요 누르기

-게시물이 9개 넘어가면 페이지 넘기기 기능

 

 

게시물 넘기기 기능

view 에 paginator를 사용해보자

 

from django.shortcuts import render, get_object_or_404, redirect
from .models import Post, Like
from .forms import PostForm
from django.http import HttpResponse, HttpResponseRedirect
from django.urls import reverse
from django.core.paginator import Paginator

def index_view(request):
    posts_list = Post.objects.all().order_by('-created_at')
    paginator = Paginator(posts_list, 9)  # 한 페이지 당 9개의 게시물
   
    page_number = request.GET.get('page')  # URL에서 페이지 번호
    posts = paginator.get_page(page_number)
   
    return render(request, 'index.html', {'posts': posts})

 

 

    <div class="pagination">
        <span class="step-links">
            {% if posts.has_previous %}
                <a href="?page=1">&laquo; 첫페이지</a>
                <a href="?page={{ posts.previous_page_number }}">이전으로</a>
            {% endif %}
           
            <span class="current">
                Page {{ posts.number }} of {{ posts.paginator.num_pages }}.
            </span>
           
            {% if posts.has_next %}
                <a href="?page={{ posts.next_page_number }}">다음</a>
                <a href="?page={{ posts.paginator.num_pages }}">끝으로 &raquo;</a>
            {% endif %}
        </span>
    </div>

 

인덱스 하단에 추가


****주의할점 

- 오류가 났었음 - 프로덕츠 뷰에 넣었었는데 인덱스가 있는 메인 뷰에 넣어야함 ㅠㅠ