티스토리 뷰

장고(Django) 스태틱(static) 파일 다루기

웹사이트들 일반적으로 이미지, 자바스크립트, CSS와 같은 추가적인 파일들을 제공하는 것이 필요로 합니다. 우리는 이 파일들을 “고정파일들(static files)”로 나타냅니다. 장고(Django)는 여러분이 그것들을 관리하는 것을 돕기 위해서 django.contrib.staticfiles 을 제공합니다. 이번 포스팅은 어떻게 여러분이 이 고정 파일들을 제공할 수 있는지 설명합니다.

고정 파일들(static files) 설정

1. django.contrib.staticfiles이 여러분의 INSTALLED_APPS에 포함되어 있는지를 확인하세요. INSTALLED_APPS은 settings.py 파일에 기술되어 있고 기본으로 내용이 포함되어 있습니다.

2. setting.py 파일 내에서 STATIC_URL을 정의하세요. 아래에 샘플이 있습니다.

STATIC_URL = ‘/static/’

3. 여러분은 템플릿(templates) 내에서 URL/static/my_app/myexample.jpg와 같은 하드코드(hardcode) URL을 쓰든 STATICFILES_STORAGE 설정을 사용해서 상대적인 경로로 URL을 만드는 static 템플릿 태그를 사용하든지 할 수 있습니다. (이것은 여러분이 제공 하는 고정 파일들을 컨텐츠 전송 네트워크(Content delivery network, CDN)로 전환하고자 할 때에 보다 쉽게 만듭니다.)

{% load staticfiles %}
<img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>

이제 ./manage.py runserver로 실행시켜 봅시다. 모든 고정 파일(static files)들은 STATIC_URL 에 의해 자동으로 제공되어질 겁니다.