Django/INSTA

[Django] 장고 모델링 - 인스타 클론코딩

씨주 2024. 1. 18. 13:30

📍 모델링

✅ 모델 정의

ImageField를 사용하기 위해 pillow 설치가 필요하다.

pip install pillow

 

  • content : post에 들어갈 내용(인스타 글을 작성할 때 title은 없기 때문에 생략)
  • created_at : post를 생성한 시간
    • auto_now_add : 현재 시간을 추가
  • updated_at : post를 수정한 시간
    • auto_now_add : 현재 시간으로 갱신
  • image : post에 들어갈 사진
    • upload_to : image가 저장될 경로 ( /image/%Y/%m 경로 )

# models.py

class Post(models.Model):
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    image = models.ImageField(upload_to='image/%Y/%m')

 

✅ 번역본 생성

migrations를 생성하여 파이썬 문법으로 작성된 모델에 대한 사항을 DB에 적용시키기 위한 번역본을 생성한다.

python manage.py makemigrations

 

✅ DB 반영

생성된 migrations를 이용해 DB에 반영한다.

python manage.py migrate

 

✅ admin 등록

# admin.py

from .models import Post

admin.site.register(Post)

 

✅ 관리자 계정 생성

관리자계정을 이용해 모델을 확인, 수정, 생성할 수 있다.

python manage.py createsuperuser

 

✅ 관리자 페이지 확인

/admin 으로 접속 가능

관리자계정으로 로그인 후 생성한 모델을 확인 가능하다.

add, change를 통해 모델 추가, 수정 또한 가능하다.