Image Upload
1. ํ์ํ package ์ค์นํ๊ธฐ
1-1. ImageField
๋จ์ ImageField๋ฅผ ํ์ฉํ๊ธฐ ์ํด์๋
pillowํจํค์ง๊ฐ ๋ฐ๋์ ํ์ํ๋ค.
$ pip install pillow1-2. resizing
Resizing์ ์ํด์๋ pilkit, django-imagekit ํจํค์ง๊ฐ ํ์ํ๋ค.
$ pip install pilkit django-imagekit2. model์ image column ์ ์
posts > models.py
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
image = models.ImageField(blank=True)
# DB ์ ์ฅ x, ํธ์ถํ๊ฒ ๋๋ฉด ์๋ผ์ ํํ
image_thumbnail = ImageSpecField(source='image',
processors=[ResizeToFill(300, 300)],
format='JPEG',
options={'quality': 60})
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
#์ข์์ ๊ธฐ๋ฅ
like_users = models.ManyToManyField(settings.AUTH_USER_MODEL,
related_name='like_posts')3. view์ request.FILES ์ถ๊ฐ
request.FILES ์ถ๊ฐposts > views.py
4. settings.py ์์
settings.py ์์ 5. urls.py์ ๊ฒฝ๋ก ์ถ๊ฐ
urls.py์ ๊ฒฝ๋ก ์ถ๊ฐ6. Templates ์์
forms.html
detail.html
migrations
django-imagekit library
Image ๋ด๋ถ์ ์ผ๋ก thumbnail์ ๋ง๊ฒ ์๋ฅด๊ธฐ
Download & usage
https://github.com/matthewwithanm/django-imagekit
Installation
์๋ณธ ์์ฒด๋ฅผ ์๋ผ์ ์ ์ฅ
Last updated
Was this helpful?