Django에서 웹 페이지가 동적으로 보인다는 것은
서버에서 계산된 데이터를 템플릿에 전달해 HTML 내용이 바뀌는 것을 의미합니다.
1. View에서 데이터 준비하기
from django.shortcuts import render
from datetime import datetime
def index(request):
today = datetime.today().date()
context = {
"date": today
}
return render(request, "foods/index.html", context)
- View는 데이터를 만드는 역할
- context 딕셔너리에 담아 템플릿으로 전달
- key 이름이 템플릿에서 사용하는 변수명이 됨
여기서는 date라는 이름으로 오늘 날짜를 전달합니다.
2. Template에서 데이터 사용하기
{% extends "./base.html" %}
{% load static %}
{% block date-block %}
<div>{{ date }}</div>
{% endblock %}
- {{ date }} → view에서 넘긴 값으로 치환
- 요청할 때마다 날짜가 달라질 수 있음
이 순간 HTML은 정적인 파일이 아니라 동적으로 생성됩니다.
3. 동적 웹 페이지란?
| 구분 | 정적 페이지 | 동적 페이지 |
| HTML 내용 | 항상 동일 | 요청마다 변경 |
| 데이터 | 없음 | view에서 전달 |
| 예시 | 회사 소개 | 날짜, 사용자 정보, 게시글 |
Django의 핵심은
view에서 로직 처리 → template은 표현만 담당하는 구조입니다.
4. 정리하면
- View: 데이터 생성 및 가공
- Context: view → template 전달 통로
- Template: {{ 변수 }}로 데이터 출력
- 이 흐름이 동적 웹 페이지의 기본 구조
“HTML이 바뀌는 게 아니라
HTML을 만드는 데이터가 바뀐다”
'Django 프론트& 백엔드 개발' 카테고리의 다른 글
| Django의 get_static_prefix 개념 (0) | 2026.01.04 |
|---|---|
| Django에서 동적 URL(Dynamic URL) 사용하기 (0) | 2026.01.04 |
| Django 템플릿 상속 이해하기 (부모 · 자식 템플릿) (0) | 2026.01.04 |
| 템플릿 언어 이해하기 (0) | 2026.01.04 |
| Django에서 템플릿·정적 파일을 샌드위치 구조로 쓰는 이유 (0) | 2026.01.04 |