[django] 용어 정리

임재규·2023년 4월 18일
0

용어 정리

목록 보기
4/5

장고란?

장고(Django)는 웹 프로그램을 개발하는 데 사용하는 파이썬 웹 프레임워크

  • 프레임워크 : 어떠한 목적을 달성하기 위해 복잡하게 얽혀 있는 문제를 해결하기 위한 구조, 소프트웨어 개발에 있어 하나의 뼈대 역할을 함

특징

  • MVC 패턴 기반 MVT,
    • 화면에 해당하는 데이터의 DB을 액세스할 수 있는 Model
    • 데이터를 가져오고 변형을 할 수 있는 View
    • 화면을 담당하는 Template
  • 객체 관계 매핑
    • 객체 관계 매핑(Object-Relational Mapping)을 지원 ​
    • ORM 기능을 사용하여 다양한 데이터베이스 시스템에 SQL 문장을 사용하지 않고도 테이블을 조작할 수 있습니다.
  • 자동으로 구성되는 관리자 화면
    • 웹 서버의 콘텐츠, 즉 데이터베이스에 대한 관리 기능을 위하여 프로젝트를 시작하는 시점에 기본 기능으로 관리자 화면을 제공
  • 우아한 URL 설계
    • 정규식을 사용하여 복잡한 URL도 표현할 수 있습니다.
  • 자체 템플릿 시스템
    • 디자인과 로직에 대한 코딩을 분리하여 독립적으로 개발 진행이 가능

애플리케이션 개발 방식

  • 웹 개발 또는 웹 서비스 개발이란 용어를 명확하게 표현하면 웹 애플리케이션 개발이라고 할 수 있음
  • 웹 사이트를 설계할 때 가장 먼저 해야 할 일은 프로그램이 해야 할 일을 적당한 크기로 나누어서 모듈화
    • 웹 사이트의 전체 프로그램 또는 모듈화된 단위 프로그램을 애플리케이션이라고 함
    • 즉 프로그램으로 코딩할 대상을 애플리케이션이라고 부름
  • 웹 사이트에 대한 전체 프로그램을 Project라 부르며, 모듈화된 단위 프로그램을 애플리케이션(app)이라 부름

디자인 패턴

디자인 패턴은 크게 MTV로 나눌 수 있음

  • Model
    • DB의 구조를 결정. 대부분의 경우 테이블을 작성할 때 사용하는데 테이블의 이름, 각 열의 이름과 타입 등을 설계할 때 사용
  • Template
    • 사용자에게 보여주는 UI 부분. HTML 코드 등 실질적으로 클라이언트에게 보여질 부분이 들어감
  • View
    • 기능, 로직 부분
    • 넘겨 받은 데이터를 어떻게 해석하고 가공할지 그리고 처리된 결과를 어떻게 클라이언트에게 돌려줄지 경정하는 부분

Model

  • 모델이란 사용될 데이터에 대한 정의를 담고 있는 장고의 클래스
  • 장고는 ORM 기법을 사용하여 앱에서 사용할 데이터베이스를 클래스로 매핑해서 코딩
    • 즉 하나의 모델 클래스는 하나의 테이블에 매핑되고, 모델 클래스의 속성은 테이블의 컬럼에 매핑 됨
  • ORM이란?
    • Object Relational Mapping은 쉽게 표현하면 객체와 관계형 데이터베이스를 연결해주는 역할을 함
    • 직접 SQL 언어를 사용해 데이터를 요청할 필요 없이 객체를 사용해 데이터를 처리할 수 있음
    • 객체를 대상으로 필요한 작업을 진행하면, ORM이 자동으로 적절한 SQL 구문이나 데이터베이스 API를 호출해서 처리
  • Models.py
    • Models에서 설정한 객체들이 ORM로 인해서 DB에 자동으로 매핑
profile
공부 기록

0개의 댓글