항상 그렇지만 무작정 책을 따라하거나 책에 있는 내용을 주입식으로 이해하는 것은 도움이 안된다고 생각한다.
우선 장고를 사용하기 전에 장고가 어떤 구조로 되어있고 기본 사항에 대해 알아 보도록 하겠다.
장고는 MVC패턴과 유사한 MVT패턴을 가지고 있다.
https://velog.io/@seongwon97/MVC-%ED%8C%A8%ED%84%B4%EC%9D%B4%EB%9E%80
MVC 패턴이란?
모델-뷰-컨트롤러(model–view–controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다.
velog.io
Model : 테이블을 정의 함 (models.py)
View : 애플리케이션의 제어 흐름 및 처리 로직을 정의함 (views.py)
Template : 사용자가 보게 될 화면의 모습을 정의함 (template 하위 / *.html)
이와같이 3가지로 나눠서 개발을 진행하면 model, view, template간의 독립성 부합, 소프트웨어 개발의 중요한 원칙인 낮은 결합도 설계의 원칙에도 부합된다.
장고를 처음 설치하고 설정파일들이 부여되는데 각 파일마다 특성이 다르다
settings.py
settings.py 는 프로젝트 설정 파일이다.
처음 프로젝트를 생성하면 장고가 기본 사항들을 자동으로 등록해주므로, 추가적으로 필요한 사항은 개발을 진행하면서 개발자가 원하는 내용을 등록하면 된다.
(데이터베이스 설정, 애플리케이션 등록, 템플릿 항목 설정, 정적 파일 항목 설정, 타임존 지정)
models.py
models.py는 테이블을 정의하는 파일이다.
장고의 특징 중 하나로, 데이터베이스 처리는 ORM기법을 사용한다.
https://velog.io/@dnjscksdn98/Database-ORM%EC%9D%B4%EB%9E%80
[Database] ORM이란?
1) 영속성(Persistence)이란? 데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성을 말합니다. 영속성을 갖지 않는 데이터는 단지 메모리에서만 존재하기 때문에 프로그램을 종
velog.io
테이블을 클래스로 매핑해서 테이블에 대한 CURD 기능을 클래스 객체에 대해 수행하면, 장고가 내부적으로 SQL을 처리하여 데이터베이스에 반영해주는 방식이다.
테이블의 신규 생성, 테이블의 정의 변경 등 models.py 파일에서 데이터베이스 변경 사항을 지정한다.
URLconf
URLconf는 URL과 뷰를 매핑해주는 urls.py 파일을 말한다.
views.py
views.py는 뷰 로직을 코딩하는 가장 중요한 파일이다. 가독성과 유지보수 편리성, 재활용 등을 고려해야 한다.
뷰 로직을 함수로 코딩할지 클래스로 코딩할지에 따라 함수형 뷰, 클래스형 뷰로 구분된다.
클래스형 뷰에는 제네릭 뷰가 있다.
https://devocean.sk.com/blog/techBoardDetail.do?ID=163706
Django #5 장고의 Views
devocean.sk.com
Templates
웹 화면 별로 템플릿 파일이 하나씩 필요하므로, 웹 프로그램 개발 시 여러 개의 템플릿 파일을 작성하게 되고, 이런 템플릿 파일을 한곳에 모아두기 위한 템플릿 디렉터리가 필요하다.
'Django' 카테고리의 다른 글
[Django] Bookmark 앱, Blog 앱 개선하기 (0) | 2022.07.22 |
---|---|
[Django] 첫 페이지 만들기 (0) | 2022.07.22 |
[Django] Blog 앱 개발 (0) | 2022.07.22 |
[Django] 가상환경 설정, Bookmark 앱 개발 (0) | 2022.07.20 |
[Django] What is Django? (0) | 2022.07.20 |