Django Basic 1-7) Static File

Turtle·2023년 12월 20일
0
post-thumbnail

📌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 = [
    # ... the rest of your URLconf goes here ...
] + 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 = [
    # ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

참고 자료 - How to deploy static files

0개의 댓글