파이썬으로 장고(Django) 공략하기: 입문 강의를 정리한 내용입니다.
게시글 상세페이지 조회
- view 메소드 추가하고 url을 연결해준다.
# third/views.py
def detail(request):
if 'id' in request.GET:
item = get_object_or_404(Restaurant, pk=request.GET.get('id'))
return render(request, 'third/detail.html', {'item': item})
return HttpResponseRedirect('/third/list/')
# third/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('list/', views.list, name="list"),
path('create/', views.create, name="restaurant-create"),
path('update/', views.update, name="restaurant-update"),
path('detail/', views.detail, name="restaurant-detail"),
]
- 상세페이지 템플릿을 작성한다.
<!-- third/templates/third/detail.html -->
{% extends 'third/base.html' %}
{% load static %}
{% block content %}
<div class="container">
<div class="row">
<div class="col-sm-12" style="margin-top:20px;">
<h3>{{ item.name }}</h3>
<p>{{ item.address }}</p>
</div>
</div>
</div>
{% endblock %}
- 리스트의 자세히 보기에 링크를 달아준다.
<!-- third/templates/third/list.html -->
...
<a href="{% url 'restaurant-detail' %}?id={{ item.id }}" class="card-link">자세히 보기</a>
...