Back-End/Django

[Django] 프로젝트에 파일 저장 'default_storage'

uni2237 2021. 1. 7.
728x90
728x90

Django에서 프로젝트이미지 파일이나 데이터 파일저장해야 할 때 !

default_storage란?

Django에서 file manage를 쉽게 할 수 있는 라이브러리이다.

 

여기서!

1. 파일이 저장되는 디렉토리 속 Root 경로 : settings.py의 MEDIA_ROOT
2. 저장된 파일의 URL : settings.py의 MEDIA_URL 

로 미리 설정할 수 있다. (이미지 파일 저장할 경우 MEDIA_ROOT를 static으로 해두면 편리!)

 

# settings.py

import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

MEDIA_ROOT=os.path.join(BASE_DIR, 'main/static') # 미디어 파일이 저장될 경로 설정 
MEDIA_URL = '/uni/main/data/' #각 media 파일에 대한 url 고정값

# 여기서 uni가 프로젝트 이름이고, main이 app이름 이다.

 

method 종류)

이제 default_storage를 사용한 메소드를 알아보자

from django.core.files.storage import default_storage

_data_file = request.FILES['file']

path = 'workspace/data'
# 지정된 경로에 파일 저장
default_storage.save(path, _data_file)

# 지정된 경로의 파일 삭제
default_storage.delete(path)

# 지정된 경로의 파일 존재 여부
default_storage.exists(path)  

 

728x90

댓글