티스토리 뷰

Django

[Django] 20. Image Upload

개발자 뭄뭄 2022. 11. 4. 21:18
반응형

Django에 내장되어있는 Django Image Field를 사용해서 사용자가 업로드한 정적 파일(미디어파일) 관리하는 방법

1. ImageField()


  • 이미지 업로드에 사용하는 모델 필드
  • FileField를 상속받는 클래스
    • FileField(upload_to=””, storage=None, max_length=100, **options)
  • 사용자에 의해 업로드 된 객체가 유효한 이미지인지 검사
  • 최대 길이가 100자인 문자열로 DB에 생성된다.

2. MEDIA_ROOT


  • settings.py 에 설정한다.
    • ex) MEDIA_ROOT = BASE_DIR / 'media'
  • 사용자가 업로드 한 파일들을 보관할 디렉토리의 절대 경로
  • 업로드 파일은 DB에 저장하는 것이 아닐, 문자열로 ‘파일경로’ 가 저장된다
  • MEDIA_ROOT는 STATIC_ROOT와 반드시 다른 경로로 지정해야 한다.

3. MEDIA_URL


  • MEDIA_ROOT에서 제공되는 미디어 파일을 처리하는 URL
  • 업로드 된 파일의 주소를 만들어 주는 역할
  • 비어있지 않은 값을 설정한다면 slash(/) 로 끝나야 한다
  • MEDIA_URL은 STATIC_URL과 반드시 다른 경로로 지정해야 한다.

4. 개발 단계에서 사용자가 업로드한 미디어 파일 제공하기


  • 사용자로부터 업로드 된 파일이 프로젝트에 업로드 → 실제 사용자에게 제공되기 위해서는 URL이 필요하다
    • Google 에 django managing static files 를 검색해서 나온 공식문서대로 복붙해서 준비한다.
    • project > urls.py


Uploaded by N2T

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함