본문 바로가기
Python/Django

장고(django)-이미지 파일 올리고 관리

by zenna 2022. 4. 11.
728x90
  1. 이미지를 저장할 폴더 지정 : settings.py 파일에 아래 내용 추가
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, '_media') 

 

  • 프로젝트 폴더 안에 ‘_media’폴더를 만들어 미디어 파일을 저장하도록
  • /media/ : 웹 브라우저 도메인 뒤에 media/가 따라오면 미디어 파일을 사용한다는 뜻

2. models.py수정 : 이미지용 컬럼(foodimage)을 추가

  • 폴더는 하위 폴더 속에 저장해야 이미지 로딩 속도가 빠름. 년월일로 하위 폴더를 만들기로.
  • 필수항목이 아니라면 괄호 안에 blank=True
foodimage = models.ImageField(upload_to='eat/images/%y/%m/%d/', blank=True)

 

 3. 터미널 : python mange.py makemigrations

  • 처음 이미지컬럼 마이그레이션이라면 pip install Pillow

4. urls.py 에서 이미지 url을 인식할 수 있도록 수정 

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

   5. html에서 사용하려면..  {{p.head_image.url}}

728x90

댓글