# 게시판 상세 페이지
def board_detail(req, pk):
login_session = req.session.get('id', '')
context = {'session' : login_session }
# Django 템플릿에 사용할 파라미터 값을 변수로 선언 > 사용해야할 인자값이 많아질 때 편리하다.
board = get_object_or_404(Board, id=pk)
# Board는 필자가 Model에서 설정한 DB 이름
context['board'] = board
return render(req, 'board_detail.html', context)
from django.urls import path, re_path
from . import views
# re_path : url에 정규식을 사용하기 위해 import해야 하는 모듈
urlpatterns = [
# url에 변수값을 라우팅해야 하는 데 int값이 아닌 str값도 라우팅하고 싶을 때 정규식을 활용하여 다음과 같이 선언한다.
re_path(r'^boarddetail/(?P<pk>[0-9]+)/$', views.board_detail, name='boarddetail'),
# int값을 pk로 넘기기 위해서 사용
path('boarddetail/<int:pk>', views.board_detail, name='boarddetail')
]
board_detail.html
{% extends "base.html" %}
{% load static %}
{% block content %}
<div>게시판 상세보기!</div>
<div style="border: 1px black solid; margin: 20px 0px;"></div>
<a href=""><button>수정</button></a>
<a href=""><button>삭제</button></a>
<div>
게시판 종류 : {{ board.board_name }}
</div>
<div>
작성자 : {{ board.writer }} | 작성일 : {{ board.write_dttm }} | 조회수 : {{ board.hits }}
</div>
<div>
제목 : {{ board.title }}
</div>
<div>
내용 : {{ board.contents|safe }}
</div>
{% endblock %}
board_list.html
설명하기 어렵다
url을 다음과 같이 사용함
<div class="board">
<div class="consulting-board">
<p>1:1 문의 게시판</p>
{% for board in consulting_boards %}
{% if board %}
<a href="{% url 'boarddetail' pk=board.id %}" target='_self'>
<div>{{ board.title }} / {{ board.writer }} / {{ board.write_dttm }}</div>
</a>
{% endif %}
{% endfor %}
</div>