📌Configuring static files
django.contrib.staticfiles
가 INSTALLED_APPS에 포함되어 있는지 확인한다.
settings.py
파일에 STATIC_URL을 지정한다.
STATIC_URL = "static/"
- 템플릿에서 정적 템플릿 태그를 사용하여 구성된 정적 파일 STORAGES 별칭을 사용하여 지정된 상대 경로에 대한 URL을 구축한다.
{% load static %}
- 프로젝트에서 특정 앱에 연결되지 않은 정적 자산이 있을수도 있다. 앱 내에서 static/ 디렉터리를 사용하는 것 외에도 Django가 정적 파일을 찾는 설정 파일에서 디렉터리 목록을 정의할 수 있다.
STATICFILES_DIRS = [
BASE_DIR / "static",
"/var/www/static/",
]
📌Serving static files during development
django.contrib.staticfiles
를 사용하는 경우 DEBUG가 True로 설정되면 runserver가 이 작업을 자동으로 수행한다. INSTALLED_APPS에 django.contrib.staticfiles
가 없는 경우에도 django.views.static.serve()
뷰를 사용하여 수동으로도 정적 파일을 제공할 수 있다.
- 하지만 이는 프로덕션 용도에서 적합하지 않다.
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
📌Serving files uploaded by a user during development
- 개발 중에
django.views.static.serve()
뷰를 사용하여 MEDIA_ROOT에서 사용자가 업로드한 미디어 파일을 제공할 수 있다.
- 이 역시 프로덕션 용도에서 적합하지 않다.
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
참고 자료 - How to deploy static files