Django 프론트& 백엔드 개발

정적 파일(static files)이란?

Data Jun 2026. 1. 4. 09:16

정적 파일(static files)은 웹 페이지를 렌더링할 때 함께 필요한 추가 파일들을 의미합니다.
대표적으로 다음과 같은 파일들이 있습니다.

  • CSS (스타일)
  • JavaScript (동작)
  • 이미지 (PNG, JPG 등)
  • 폰트(Font)

이 파일들은 요청마다 내용이 바뀌지 않고, 서버에 저장된 그대로 브라우저에 전달됩니다.

 

1. Django에서 static 파일 구조

Django에서는 보통 앱 내부에 static 폴더를 두고, 그 안에 정적 파일을 정리합니다.

foods/
 ├─ static/
 │   └─ foods/
 │       ├─ css/
 │       │   └─ styles.css
 │       ├─ images/
 │       │   └─ chicken.jpg
 │       └─ fonts/
 └─ templates/
     └─ foods/
         └─ index.html

앱 이름으로 한 번 더 폴더를 감싸는 구조를 쓰는 이유는 여러 앱에서 static 파일 이름이 겹치는 것을 방지하기 위해서입니다.

 

2. 템플릿에서 static 파일 사용하기

템플릿에서 static 파일을 사용하려면 반드시 템플릿 태그를 먼저 선언해야 합니다.

{% load static %}

CSS 연결 예시

<link rel="stylesheet" href="{% static 'foods/css/styles.css' %}">

이미지 사용 예시

<img src="{% static 'foods/images/chicken.jpg' %}" width="300" height="200">

{% static %} 태그는
➡️ “static 폴더 안에서 이 파일을 찾아서 사용하겠다” 라고 Django에게 알려주는 역할을 합니다.

 

3. 정리하면

  • static 파일은 CSS, JS, 이미지, 폰트처럼 화면을 꾸미는 파일
  • Django에서는 static/앱이름/ 구조로 관리
  • 템플릿에서는 {% load static %} 후 {% static '경로' %} 사용
  • HTML은 서버에서 렌더링되고, static 파일은 브라우저가 추가로 요청해서 불러온다