Develop/장고 (Django) 멋쟁이사자처럼 7기 운영진

[멋사7기] 7.5주차 - 썸네일 만들기

안다희 2019. 2. 21. 00:34
728x90

pip 패키지 설치하면 됨~ 쉽다


어떤 파일 가리키고 ㄷ너 이제부터 썸네일!

파일용량, 파일분류에 용이 (원본파일, 썸네일파일 분류 따로 디렉토리 만들어서)


====이제 썸네일 만들어보자====

1) Pictures라는 모델 만들고 media로 파일 올릴 수 있게 하기


https://coding-dahee.tistory.com/51?category=732277  참고~


class Pictures(models.Model):
text = models.TextField()
image = models.ImageField(upload_to="blogimg")
objects = models.Manager()

모델은 이런식으로 했음


2) 이제 admin에서 파일 올리면 그게 home.html에 보일것이다.

그 이미지에 대한 썸네일을 만들어보자.


3) 패키지 설치

pip install pillow django-imagekit


4) settings.py in project

INSTALLED_APPS = [
# thumbnail
'imagekit'
]


5) models.py in app

from imagekit.models import ImageSpecField # 이걸로 썸네일 만든다
from imagekit.processors import ResizeToFill # 이걸로 크기조정

class Pictures(models.Model):
text = models.TextField()
image = models.ImageField(upload_to="blogimg")
objects = models.Manager()

# image에 해당하는 이미지 소스를 썸네일로 삼겠다. 바로 위에 image 변수 있지
image_thumbnail = ImageSpecField(source='image', processors=[ResizeToFill(120, 60)])


ResizeToFill(가로, 세로)


.url 잊지말기


6) 서버 돌려보기


7) ImageSpecField의 인자 더 알아보기

확장자, 압축방식

image_thumbnail = ImageSpecField(source='image', processors=[ResizeToFill(120, 60)]
, format='JPEG', options={'quality':60})