Storage설명

파일에 대한 접근 방법 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