모델과정 + 데이터베이스 업데이트까지 하기
새로운 터미널 하나 더 생성하고 밑에 코드 입력. (startapp)
python manage.py startapp articles #app 추가. 이걸 하고나면 왼쪽에 articles 파일이 생성된다
articles 추가했으니 settings.py에 가서 추가해주자
INSTALLED_APPS -> 'rest_framework'위에 'articles' 추가
django에서 프로젝트하고 가장 먼저해야할 일은 models.py 에서 모델을 만드는것이다.
시작해보자
1. articles 파일 ➜ models.py 클릭
2. Class 모델을 만들자 (아래 참고)
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField( )
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
3. 이 모델을 데이터베이스에 반영하는 작업! Migrate해주자
python manage.py makemigrations #터미널에 입력
4. db.sqlite3에 가보면 실제로 데이터베이스에 반영이 안되어 있다.
python manage.py migrate #이 코드를 입력하고 새로고침하면 테이블 확인 가능
5. articles_article 테이블 눌러보기
Class 모델한것처럼 title, content, created_at, updated_at 이 만들어져있는것을 확인할 수 있다
6. articles 파일 ➨ admin.py
from articles.models import Article #불러오기
.
.
admin.site.register(Article)
여기까지하면 서버가 돌아가고 있으니 사이트에 들어가서 url에다가 /admin/ 입력후, 떠오르는 화면 확인
사용자 이름만들러 다시 vsc로 돌아가자. 그리고 아래와 같이 사용자 이름 및 비밀번호 설정하고 url로 돌아가서 로그인하자.
python manage.py createsuperuser #터미널에 입력
#사용자이름: admin
#비밀번호: 알아서 설정
로그인 완료 후, 보이는 화면
article로 추가해보자
article을 저장하면 생성된것을 확인할 수 있다
vsc로 가서 db.sqlite ➨ articles_article 테이블보면 업데이트 사항 확인
우리가 저장한 article이 작성한 제목(타이틀)로 나올 수 있도록 설정하자.
VSC ➜ articles ➜ models.py 에 추가
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField( )
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self): #Article Class에서 해당 함수를 쓰기 위해서 같은 위치에 있어야함
return str(self.title) #class안에 있는 함수를 메소드라고 호칭한다. 헷갈리지 않기위해서
#언더바2개 (__)쓰고 사용하는 함수를 매직 메소드라고 칭한다.
__str__을 이용하여 짜잔! 이제 admin 페이지에도 타이틀로 보인다
우리가 만들어둔 이 article을 조회할 수 있는 API를 만들어보자
'내일배움캠프 AI 웹 프로그래밍' 카테고리의 다른 글
내일배움캠프 38일차 TIL_데코레이터 함수 (0) | 2023.09.26 |
---|---|
내일배움캠프 37일차 TIL_왕초보 '시리얼라이저'배우기2 (0) | 2023.09.26 |
내일배움캠프 35일차 TIL_django 기초강의를 못들었다면... (0) | 2023.09.22 |
내일배움캠프 34일차 TIL_프로젝트 세팅을 해보자 (0) | 2023.09.21 |
내일배움캠프 26일차 TIL_점프투파이썬_파이썬 (0) | 2023.09.21 |