🌟 Django 템플릿 구성 파일 개발 & 방안
1. 프로젝트 구성 홈가이드
테마: Django Template 이용하여 메인 페이지 만들기
- 무비 디테일 페이지를 만들기 위해 movie.html 파일을 생성.
- Django 템플릿에서는 딕셔너리를 표현할 때 대괄호 사용 금지 → . (점) 문법 사용
- 예시: {{ movie.title }}, {{ movie.director }} 형태로 출력
<h1>{{ movie.title }}</h1>
<p>{{ movie.director }}</p>
- 컨텍스트에 무비 데이터를 넘길 때 키 이름(movie)을 정확히 일치시켜야 정상 출력.
2. 컨텍스트 & 데이터 처리
- views.py (또는 urls.py 임시 뷰)에서 render 사용:
from django.shortcuts import render
def movie_detail(request, index):
movie = movie_list[index] # 리스트 슬라이싱으로 하나 가져옴
return render(request, 'movie.html', {'movie': movie})
- 주의사항:
- 컨텍스트 키(movie)와 템플릿에서 참조하는 이름(movie)이 일치해야 함
- 이름이 다르면 템플릿에서 값이 출력되지 않음
3. 호출가 필요한 페이지 구성
북 페이지 만들기: 북 리스트
- book_list.html 파일 생성
- 레인지(range)를 사용해 0~9까지 숫자 목록 출력
# urls.py 또는 views.py 중 여기서 render
from django.shortcuts import render
def book_list(request):
return render(request, 'book_list.html', {'nums': range(10)})
<!-- book_list.html -->
{% for num in nums %}
<a href="/book/{{ num }}/">{{ num }}일 페이지</a><br>
{% endfor %}
- 각 번호에 맞는 상세 페이지 링크 연결 완료
북 개발: 북 디테일 페이지 만들기
- book_detail.html 파일 생성
- URL로 전달받은 번호를 표시
# views.py
from django.shortcuts import render
def book_detail(request, num):
return render(request, 'book_detail.html', {'num': num})
<!-- book_detail.html -->
<h1>{{ num }}번 페이지입니다.</h1>
- 북 리스트에서 번호를 클릭하면 해당 북 디테일 페이지로 이동
4. Django 템플릿 문법 사용 포인트
기능 방법
for loop | {% for item in list %} ... {% endfor %} |
if 조건문 | {% if condition %} ... {% endif %} |
forloop.counter | 1부터 시작하는 인덱스 사용 가능 |
add 필터 | `{{ value |
- Django 템플릿에서는 직접 연산(+, -)이 불가 → 필터(add) 이용
5. 단계적 작업 협시
- URL 패턴 → HTML 파일 → render 연결
- 데이터 넘기기 (context)
- 템플릿 문법으로 반복문, 조건문 활용
- 링크 걸기 (a 태그 + 동적 url 생성)
- 예외 처리 (없는 데이터 접근 시 404 처리)
🎉 정리
Django 템플릿 엔진은:
- 데이터 → HTML로 뿌려주기 용이
- 반복/조건 처리 가능
- URL 이동 링크 손쉽게 연결 가능
- 복잡한 연산 없이 필터로 가공 가능
✅ 이제부터 Django 템플릿을 자유자재로 활용할 수 있습니다!
'Django' 카테고리의 다른 글
Chapter 2-4 Django Admin 기능 완전 정복 요약본 (0) | 2025.04.30 |
---|---|
Chapter 1-10 Django로 구구단 페이지 만들기 (0) | 2025.04.29 |
Chapter 1-7 Django - 가짜 데이터베이스로 웹 페이지 만들기 튜토리얼 (0) | 2025.04.29 |
Chapter 1-6 Django 기본 HTTP 응답 만들기 튜토리얼 (0) | 2025.04.29 |
Chapter 1-2 Windows에서 pyenv + 가상환경 설정법 (Mac 과정 대응 버전) (0) | 2025.04.29 |