Skip to content

Latest commit

 

History

History
78 lines (64 loc) · 1.78 KB

File metadata and controls

78 lines (64 loc) · 1.78 KB

7.5주차 - 썸네일 만들기

Thumbnail

이미지 파일을 대표하는 이미지

기능 장점

  1. Thumbnail 파일 지정 용이
  2. 파일 용량 관리 용이
  3. 파일 분류에 효율적

실습

  1. 기본적인 Media 파일 사용 설정
    • models.pymodel정의
    • settings.py에 경로 설정
    • urls.pypath 추가
    • admin.pymodel등록
    • migrate 진행
    • views.py의 함수 이미지를 사용하도록 수정
    • html에 전달 받은 이미지 출력
  2. pip 패키지 설치
$ pip install pillow django-imagekit
  1. settings.py에 앱 추가
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.sites',
    ...

    # Imagekit
    'imagekit'
]
  1. models.py에 model 수정

필요한 모듈 추가
imagekit.modelsImageSpecField함수 이용
source인자는 이미지 주소, 이미지 크기를 조정하기 위하여
processors인자에 list형식으로 ResizeToFill함수 사용

from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill

class Pictures(models.Model):
    text = models.TextField()
    image = models.ImageField(upload_to="blog_img")
    image_thumbnail = ImageSpecField(
        source="image", processors=[ResizeToFill(120, 60)]
    )
  1. html에 Thumbnail 띄우기

기존의 이미지를 띄우는 것과 동일
이미지를 띄울땐 뒤에 .url을 붙여야한다.

<img src="{{ blog.image_thumbnail.url }}">

ImageSpecField함수 속성

확장자 지정

thumbnail = ImageSpecField(..., format='JPEG')

압축 방식 지정

thumbnail = ImageSpecField(..., options={
    'quality': 60,
})

...etc