📍 모델링
✅ 모델 정의
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를 통해 모델 추가, 수정 또한 가능하다.
'Django > INSTA' 카테고리의 다른 글
[Django] 장고 부트스트랩 Grid - 인스타 클론코딩 (0) | 2024.01.19 |
---|---|
[Django] 장고 부트스트랩 Navbar 추가 - 인스타 클론코딩 (1) | 2024.01.19 |
[Django] 장고 Image 크기, 비율 조절(Resized) - 인스타 클론코딩 (0) | 2024.01.19 |
[Django] 장고 CRUD기능 중 READ - 인스타 클론코딩 (0) | 2024.01.19 |
[Django] 장고 프로젝트 초기설정 - 인스타 클론코딩 (0) | 2024.01.17 |