상세 페이지 만들기
📌 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>
상세 페이지 만들기 - 결과
📌 상세 페이지 만들기 - 결과
'Django' 카테고리의 다른 글
[Django] DB 가져와서 CRUD(5) - 데이터 삭제하기(D) (0) | 2022.12.19 |
---|---|
[Django] render와 redirect (0) | 2022.12.19 |
[Django] url 별칭 (0) | 2022.12.19 |
[Django] <var> (0) | 2022.12.19 |
[Django] DB 가져와서 CRUD(3) - DB 읽고 화면에 출력하기(R) (0) | 2022.12.19 |
댓글