< settings.py >
1. PROJECT_ROOT_DIR
설정
원하는 경로를 설정하면 된다. 여기서는 Project 폴더가 있는 곳으로 설정했다.
PROJECT_ROOT_DIR = os.path.dirname(BASE_DIR)
2. STATIC_URL
과 STAIC_ROOT
설정
STATIC_URL = '/static/' STATIC_ROOT = os.path.join(PROJECT_ROOT_DIR, 'dist', 'static')
STATIC_URL
은 static 파일들이 URL 상에서 위치하는 기본 경로이고 STAIC_ROOT
는 실제 css 파일이나 js 파일들이 위치하는 곳이다.
3. STATICFILES_DIRS
설정
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'app 이름', 'static')]
STATICFILES_DIRS
튜플이나 리스트로 입력을 해준다. app마다 만들어준 static폴더의 위치를 튜플이나 리스트로 설정한다. STATICFILES_DIRS
를 설정해주면 Project를 진행하면서 app > static > css
의 css파일을 수정해가며 작업할 수 있다.
MEDIA
의 경우도 MEDIA_URL
, MEDIA_ROOT
를 설정해주면 된다. 그리고 urls.py
에서 몇 가지 작업을 더 해준다.
일단 아래 모듈들을 import 한다.
from django.conf import settings from django.conf.urls.static import static
그리고 urlpatterns
의 리스트가 끝나는 지점에 한 줄을 추가해준다.
urlpatterns = [ (생략) ] + static(settings.MEDIA_URL, document_ROOT=settings.MEDIA_ROOT)
html에서 staticfile 적용하기
문서 상단에 {% load staticfiles %}
를 추가해주고 <header>
영역에 <link>
태그를 추가해준다.
<link rel="stylesheet" href="{% static "css/application.css" %}" type="text/css">