백엔드
Django에 대하여(17)_Static files
데이터분석가 이채은
2024. 4. 8. 09:00
Static Files (정적 파일)
서버 측에서 변경되지 않고 고정적으로 제공되는 파일로 이미지, JS, CSS 파일 등이 있습니다.
1.1 웹 서버와 정적 파일
웹 서버의 기본 동작은 특정 위치 (URL)에 있는 자원을 요청(HTTP request) 받아서 응답 (HTTP response)을 처리하고 제공(serving)하는 것입니다. 즉, 자원에 접근 가능한 주소가 있다는 의미입니다. 웹 서버는 요청받은 URL로 서버에 존재하는 정적 자원을 제공합니다. 정적 파일을 제공하기 위한 경로(URL)가 있어야 합니다.
1.2 기본 경로에서 제공하기
Static files 기본경로는 app폴더/static/ 입니다.
- articles/static/articles/ 경로에 이미지 파일을 배치하면 아래와 같이 보입니다.
- static tag를 사용해 이미지 파일에 대한 url을 제공합니다.
<!-- articles/index.html --> {% load static %} <img src="{% static 'articles/sample-1.png' %}" alt="img">
- STATIC_URL
STATIC_URL이란, 기본 경로 및 추가 경로에 위치한 정적 파일을 참조하기 위한 URL로 실제 파일이나 디렉토리가 아니고 URL로만 존재합니다.# settings.py STATIC_URL = 'static/'
STATIC_URL 확인 - Static files 추가 경로
STATICFILES_DIRS에 문자열 값으로 추가 경로 설정을 할 수 있습니다. STATICFILES_DIRS는 정적 파일의 기본 경로 외에 추가적인 경로 목록을 정의하는 리스트입니다.
# 임의의 추가 경로 설정 # settings.py STATICFILES_DIRS = [ BASE_DIR / 'static', ]
<!-- articles/index.html -->
<img src={% static 'sample-2.png' %}" alt="img">