blog/models.py
from django.db import models |
head_image = models.ImageField(upload_to='blog/', blank=True)
를 추가했으므로 이제 이미지 파일을 올릴 수 있게 되었다.
이렇게 할 경우 일반적으로 blog폴더에 계속 이미지 파일이 생기게 됨으로 settings.py에 가서 이미지가 저장될 수 있는 폴더를 설정해주어야 한다.
미디어가 저장될 기본 폴더 설정하기
mysite/settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, '_media') |
이미지 파일이 _media
폴더에 저장되게 된다.
날짜별로 사진 파일 저장하기
blog/models.py
# 이미지 파일 저장을 위한 객체 |
upload_to='blog/%Y/%m/%d/'
로 저장하게 되면 날짜별로 사진 파일이 저장되게 된다.
사진 반영하기
변경전
blog/templates/blog/post_list.html
<img |
<img class="card-img-top" src="{{p.head_image.url}}" alt="Card image cap" /> |
결과
블로그 포스트에 사진이 없는 것들이 있기 때문에 이 오류가 뜨게 된다.
mysite/settings.py
MEDIA_URL = '/_media/' |
mysite/urls.py
from django.contrib import admin |