본문 바로가기
Django

[Django] DB 가져와서 CRUD(4) - 상세 페이지 만들기(R)

by 기록하는_사람 2022. 12. 19.

상세 페이지 만들기

📌 index.html에서 title 클릭하면, 각 title별 상세 페이지로 넘어가도록

① index.html에 url 추가

(templates/books/index.html)

...
    {% for i in bset %}
        <tr>
            <td>{{ forloop.counter }}</td>
            <td><a href="{% url 'detail' i.id %}">{{ i.name }}</a></td>
            <td>{{ i.writer }}</td>
            <td>{{ i.hit }}</td>
        </tr>
    {% empty %}
        <tr>
            <th colspan="4">NO DATA</th>
        </tr>
    {% endfor %}
</table>

 

② books/urls.py에 path 추가

(books/urls.py)

from django.urls import path
from . import views

urlpatterns = [
    path('index/', views.index, name="index"),
    path('detail/<bpk>', views.detail, name="detail")
]

 

③ books/views.py에 함수  추가

(books/views.py)

...
def detail(request, bpk):
    b = Books.objects.get(id=bpk)
    context = {
        "b" : b
    }
    return render(request, "books/detail.html", context)

 

④ templates/books 폴더에 detail.html 생성

(detail.html)

<h1>DETAIL PAGE</h1>

<h3>{{ b.name }}</h3>
<b>지은이</b><input type="text" value="{{ b.writer }}" disabled><br><br>
<b>조회수</b><input type="text" value="{{ b.hit }}" disabled><br><br>
<b>내용</b><br><textarea cols="80" rows="8" disabled>{{ b.content }}</textarea><br><br>

<a href="{% url 'index' %}"><button>HOME</button></a>

 

상세 페이지 만들기 - 결과

📌 상세 페이지 만들기 - 결과

댓글