Django 프론트& 백엔드 개발

데이터 전달로 동적 웹 페이지 개념

Data Jun 2026. 1. 4. 10:44

 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을 만드는 데이터가 바뀐다”