Chapter 1-9 Django 템플릿 구성 파일 개발 & 방안

2025. 4. 29. 19:25·Django

🌟 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. 단계적 작업 협시

  1. URL 패턴 → HTML 파일 → render 연결
  2. 데이터 넘기기 (context)
  3. 템플릿 문법으로 반복문, 조건문 활용
  4. 링크 걸기 (a 태그 + 동적 url 생성)
  5. 예외 처리 (없는 데이터 접근 시 404 처리)

🎉 정리

Django 템플릿 엔진은:

  • 데이터 → HTML로 뿌려주기 용이
  • 반복/조건 처리 가능
  • URL 이동 링크 손쉽게 연결 가능
  • 복잡한 연산 없이 필터로 가공 가능

✅ 이제부터 Django 템플릿을 자유자재로 활용할 수 있습니다!

'Django' 카테고리의 다른 글

Chapter 2-1 Django 앱 생성 및 구조 설명 가이드  (0) 2025.04.30
Chapter 1-10 Django로 구구단 페이지 만들기  (0) 2025.04.29
Chapter 1-8 Django 템플릿 설정 및 문법 기초 정리  (0) 2025.04.29
Chapter 1-7 Django - 가짜 데이터베이스로 웹 페이지 만들기 튜토리얼  (0) 2025.04.29
Chapter 1-6 Django 기본 HTTP 응답 만들기 튜토리얼  (0) 2025.04.29
'Django' 카테고리의 다른 글
  • Chapter 2-1 Django 앱 생성 및 구조 설명 가이드
  • Chapter 1-10 Django로 구구단 페이지 만들기
  • Chapter 1-8 Django 템플릿 설정 및 문법 기초 정리
  • Chapter 1-7 Django - 가짜 데이터베이스로 웹 페이지 만들기 튜토리얼
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (787)
      • Python (32)
      • 프로젝트 (110)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (153)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    livebroadcast
    self-growth
    smartphonedurability
    btscomeback
    americaparty
    RM
    classaction
    travel ban
    titaniumcase
    urbantrends
    college reunions
    chatgpterror
    youngprofessionals
    americanlaw
    bts
    trumpmuskclash
    newpoliticalparty
    gpterror
    뷔
    remittance
    global politics
    btsdischarge
    life reflection
    chinanightlife
    btsreunion
    homebartrend
    btsjungkook
    hotcoffeecase
    basalcellcarcinoma
    lawsuitculture
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Chapter 1-9 Django 템플릿 구성 파일 개발 & 방안
상단으로

티스토리툴바