[Django] Static

Yujin·2023년 10월 4일
0
post-thumbnail

Static Files (정적 파일)

  • 서버 측에서 변경되지 않고 고정적으로 제공되는 파일
  • 이미지, JS, CSS 파일 등

STATIC_URL

  • 기본 경로 및 추가 경로에 위치한 정적 파일을 참조하기 위한 URL
  • 실제 파일 또는 디렉토리 X
  • URL로만 존재
# settings.py

STATIC_URL = 'static/'

Static Files 제공하기

  1. 기본 경로에서 제공하기
    • Static Files 기본 경로 : app 폴더/static/
  1. 추가 경로에서 제공하기
  • STATICFILES_DIRS에 문자열 값으로 추가 경로 설정
    • STATICFILES_DIRS : 정적 파일의 기본 경로 외에 추가적인 경로 목록을 정의하는 리스트
    • 임의의 추가 경로 설정
      # settings.py
      
      STATICFILES_DIRS = [
          BASE_DIR / 'static',
      ]

Media Files

  • 사용자가 웹에서 업로드하는 정적 파일

이미지 업로드

  • ImageField()
    • 이미지 업로드에 사용하는 모델 필드
    • 이미지 객체가 직접 저장되는 것이 아닌, 이미지 파일의 경로가 문자열로 DB에 저장

미디어 파일을 제공하기 전 준비

  1. settings.py에 MEDIA_ROOT, MEDIA_URL 설정
  2. 작성한 MEDIA_ROOT와 MEDIA_URL에 대한 url 지정

MEDIA_ROOT

  • 미디어 파일들이 위치하는 디렉토리의 절대 경로
# settings.py

MEDIA_ROOT = BASE_DIR / 'media'

MEDIA_URL

  • MEDIA_ROOT에서 제공되는 미디어 파일에 대한 주소를 생성
  • STATIC_URL과 동일한 역할
# settings.py

MEDIA_URL = 'media/'

enctype 속성

  • 이미지 업로드 구현시 form 요소의 enctype 속성 추가

0개의 댓글