Develop/Django(Project)
2. TodoApp / 상세조회기능 만들기
보보트레인
2023. 9. 21. 13:46
1. Templates 생성
todo_detail.html로 템플릿 생성
<html>
<head>
<title>TODO 목록 앱</title>
<link
rel="stylesheet"
/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icon@1.7.1/font/boot-strap-icons.css">
</head>
<body>
<div class="container">
<h1>TODO 상세보기</h1>
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<h5 class="card-title">{{ todo.title }}</h5>
<p class="'card-text">{{ todo.description }}</p>
<a href="{% url 'todo_list' %}" class="btn btn-primary">목록으로</a>
</div>
</div>
</div>
</div>
</div>
</div>
</html>
2. 뷰 작성
Todo의 pk인 id를 기반으로 Todo 객체를 찾아 todo_detail.html로 전달 할 수 있도록 작성하고, todo_list.html 버튼에 링크를 넣는다.
def todo_detail(request, pk):
todo = Todo.objects.get(id=pk)
return render(request, 'todo/todo_detail.html', {'todo': todo})
<a href="{% url 'todo_detail' pk=todo.pk %}">{{ todo.title }}</a>
3. Todo 상세 조회 URL 연결하기
from django.urls import path
from . import views
urlpatterns = [
path('', views.todo_list, name='todo_list'),
path('<int:pk>/', views.todo_detail, name='todo_detail'),
]
<결과화면>
반응형