
[정리]
- urls.py : 사용자 요청의 시작점
- views.py : 요청을 처리하고 models.py를 통해 데이터를 다룸
- models.py : 데이터베이스를 정의하고, 데이터베이스와 상호작용함
- templates : views.py로부터 받은 데이터를 사용자에게 보여줄 화면을 구성
Model을 이용한 DB 관리
Model: 데이터베이스와 Python 클래스(객체)로 추상화된 형태로 상호작용
Model class : DB 테이블을 정의하고, 데이터를 조작할 수 있는 기능들을 제공. 데이터베이스 테이블의 구조를 설계하는 청사진 역할을 함.
예시
class Article(models.Model):
title = models.CharField(max_length = 10)
content = models.TextField()
- 모델 클래스 == 테이블 설계도
- id 필드는 Django가 자동 생성.
Model Field
- DB 테이블의 필드(열) 정의. Django는 이러한 필드 정의를 바탕으로 DB 칼럼을 자동으로 생성하고, 데이터 입력 시 유효성 검사 등 필요한 기능을 제공함.
Model Field의 구성

1. Field Types : DB에 저장될 데이터의 종류
- 문자열 필드 : CharField(), TextField()
- 숫자 필드 : IntegerField(), FloatField()
- 날짜/시간 필드 : DateField(), TimeField(), DateTimeField()
- 파일 관련 필드 : FileField(), ImageField()
2. Field Options : 필드의 동작과 제약 조건 정의.
- null, blank, default 등의 필드 옵션 존재
Migrations
- model 클래스의 변경사항(필드 생성, 수정 삭제 등)을 DB에 최종 반영하는 방법
migration 파일 == 최종 설계도
python manage.py makemigrations
- model class를 기반으로 최종 설계도 작성
python manage.py migrate
Admin Site
- Django 관리자 인터페이스는 추가 설정 없이 자동 생성되는 웹 기반 관리 도구로, 데이터베이스 모델의 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 간편하게 수행할 수 있음.
python manage.py createsuperuser