파이썬장고는 MVT 개발 방식으로 Model, View ,Templates 방식으로 개발을 하고있습니다
Model db db테이블 정보를 정의 하는 방식 주로 ORM방식으로 개발되며 테이블을 클래스로 정의하여 메소드 및 변수기능을 정의하여 사용한다.
View 뷰 url,db를 컨트롤 하는 중간자
Templates html등 화면단에 출력하는부분
모델 정의에서 아래와 같은 항목일때
모델클래스 class Album(models.Model):
name - models.CharField(max_length=50)
모델 속성 description = models.CharField('one line Descrition', max_length=100, blank=True)
여기서 description은 필드명, models.CharField는 필드타입,
('one line Descrition', max_length=100, blank=True) 해당옵션은 필드옵션입니다.
Meta 내부 클래스 class Meta:
Meta 내부 클래스 속성 ordering = ['name']
모델 메소드
def__str__(self): return self.name def get_absolute_url(self): return reverse('photo:album_detail', args=(self.id,)) |
ORM 기법의 특징은 테이블 컬럼을 모델 클래스의 속성으로 정의됩니다.
테이블이란 DB에서 컬럼이라는 값을 가지고 있는 데이터 형식입니다.
예를들어 슈퍼마켓이라는 테이블을 만들면 그안에 팔고있는 상품들
과일,야채,생선들은 테이블을 이루는 데이터 이고 이형식들을 컬럼이라고 부릅니다
기존에 다른 웹개발언어로 웹을 개발할때는 DB서버를 따로 구축하고 그 DB서버안에 테이블이라는 데이터형식을 만들어서 서로 웹과 연동하여 개발을 진행하였지만 파이썬은 ORM이라는 기법으로 DB테이블의 컬럼값을 파이썬의 모델클래스의 속성으로 정의하고 있습니다. 그렇다면 왜하냐 이 ORM방식의 개발장점은 무엇이냐고 하면
이렇게 함으로써 테이블에 관련된 데이터와 행위를 모두 모델클래스 한곳에서 정의할 수 있는 장점이 있습니다.