정적 파일(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 파일은 브라우저가 추가로 요청해서 불러온다
'Django 프론트& 백엔드 개발' 카테고리의 다른 글
| 템플릿 언어 이해하기 (0) | 2026.01.04 |
|---|---|
| Django에서 템플릿·정적 파일을 샌드위치 구조로 쓰는 이유 (0) | 2026.01.04 |
| Django의 MVT 구조 개념 (0) | 2026.01.04 |
| Django Template과 render 이해하기 (0) | 2026.01.04 |
| Django에서 메인 페이지(빈 경로)가 404가 뜨는 이유 (0) | 2026.01.03 |