파일에 대한 접근 방법
FileField
는 파일의 경로만 저장한다.
FieldFile
은 실제 파일에 접근 할 수 있는 프록시(대기자)역할을 한다.
Storage
는 실제 파일을 열고, 읽고, 쓰고, 지우고 하는 역할을 한다.
그래서Storage
을 통해서 실제 파일에 접근을 한다.
FileField -> FieldFile -> Storage -> 실제 저장되는 파일
기본적으로 FileSystemStorage
를 사용한다.
-
FileSystemStorage Django가 실행되는 환경의 ‘파일시스템’을 기반으로 파일을 관리.
-
S3Storage AWS S3 서비스의 저장공간을 기반으로 파일을 관리
-
DropboxStorage Dropbox서비스의 저장공간을 기반으로 파일을 관리
그래서 별도의 Storage
를 만들어서 사용 할 수도 있다.
파일에 대한 접근 기준
FileField
의 내용이 /photo/pby89.jpg
일 경우
FileSystem
에서 찾을때는 settings.MEDIA_ROOT
기준으로 검색
S3Storage
에서 찾을때는 특정 저장소를 기준으로 위 경로에 해당하는 파일을 다운로드 받아서 사용할 수 있도록 처리
Comments