데이터 삽입

파일 업로드

데이터베이스에서 파일 업로드 처리 일반적으로 파일의 경로를 데이터베이스에 저장

blob 타입으로 파일의 내용을 저장

파일의 경로를 저장할 때 고려 사항

파일 이름의 중복 - UUID와 업로드 날짜 같은 정보를 추가해서 파일 이름을 생성

<aside> 💡 UUID(Universally Unique IDentifier) 범용 고유 식별자 네트워크 상에서 고유성이 보장되는 id를 만들기 위한 표준 규약

</aside>

하나의 디렉토리에 저장할 수 있는 파일의 개수 제한

파일의 저장 위치

최근에는 거의 별도의 파일 서버에 저장

파일 업로드 경로를 설정 - settings.py

BASE_DIR(==mysite) 밑에 만들어야 함

**settings.py
#파일 업로드 위치 설정 - 프로젝트의 media 디렉토리로 설정
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')**

Untitled

**os.path.join(dir_path, file name)
으로 인자를 전달하면 디렉토리 경로에 파일 이름을 조합하고 그 path를 리턴

💡 ****Media와 Static 폴더의 차이****

- static : 개발자를 위한 폴더
- media : 사용자를 위한 폴더

Static 폴더는 css파일, 이미지 파일처럼 사이트에 필요한 정적인 파일들을 모아놓은 것
개발자가 이미지나 파일을 추가하지 않는 이상 현 상태가 계속 유지된다.

반면, Media 폴더는 데이터를 추가할 때
Imagefield나 Fielfield를 통해 업로드 되는 이미지나 파일들을 모아 놓는다.
사용자가 사이트에서 업로드하는 파일들이 여기 모인다.
사이트 관리자가 admin 페이지에서 데이터를 추가할 때 올리는 이미지, 파일도 마찬가지**