Python/Django Framework

[Python Django] 3-2. CBV DetailView를 이용한 상세페이지 구현

Jake the Dog 2022. 3. 26. 09:38
반응형

views.py 수정

BoardDetailView 클래스를 생성하여 DetailView를 상속받아 상세 페이지를 구성

# board/views.py

class BoardDetailView(DetailView):
    template_name = "board_detail.html"
    model = Board  # URLConf에서 pk 파라미터의 값을 활용하여 자동으로DB를 조회한다

urls.py 수정

# board/views.py

from django.urls import path

from board.views import BoardCreateView, BoardDetailView

urlpatterns = [
    path('create/', BoardCreateView.as_view()),
    path('detail/<int:pk>/', BoardDetailView.as_view()) # 추가
]

board_detail.html 추가

# board/templates/board_detail.html

{% extends "base.html" %}
{% block contents %}
    <div class="row mt-5">
        <div class="col-12 text-center">
            <h1>상세보기</h1>
        </div>
    </div>
    <div class="row mt-5">
        <h2>제목</h2>
        <p>{{ board.title }}</p>
    </div>
    <div class="row mt-5">
        <h2>내용</h2>
        <p>{{ board.contents }}</p>
    </div>
{% endblock %}
 
반응형