모델에 이미지 필드 추가

cafe에 이미지를 넣어보겠습니다.

tutorialdjango > mysite > main > models.py로 이동하겠습니다. 여기서 null True를 주게 되면 기존에 있는 게시판 게시물은 null 값으로 들어가게 됩니다.

from django.db import models

class Cafe(models.Model):
    name = models.CharField(max_length = 50)
    content = models.TextField()
		mainphoto = models.ImageField(blank=True, null=True)

    def __str__(self):
        return self.name

위와 같이 수정하셨다면 이제 사진을 처리할 수 있는 라이브러리를 설치 해야 합니다. Pillow라는 라이브러리이며 아래와 같이 설치할 수 있습니다.

(myvenv)root@goorm:/workspace/컨테이너명/mysite# pip3 install pillow

모델의 변경사항을 DB에 반영합니다.

(myvenv)root@goorm:/workspace/컨테이너명/mysite# python manage.py makemigrations

(myvenv)root@goorm:/workspace/컨테이너명/mysite# python manage.py migrate

서버는 다시 구동시켜주세요.

(myvenv)root@goorm:/workspace/컨테이너명/mysite# python manage.py runserver 0:80

Media 설정

이제 사진이 저장될 공간을 설정해주도록 하겠습니다. 이 설정을 하지 않으면 사진을 업로드 할 경우 mysite 바로 아래로 파일이 들어가게 됩니다. 아래 코드의 위치는 settings.py에 맨 마지막입니다.

from pathlib import Path

BASE_DIR = Path(__file__).resolve().parent.parent

#...중략...

MEDIA_ROOT = BASE_DIR / 'media'
MEDIA_URL = '/media/'