Django로 개발하기 초보자도 할 수 있다. (1)-Django란?

Yong Hyun Jeon·2023년 3월 12일
0

Django란?

  • Django는 파이썬으로 제작된 오픈소스 웹 프레임워크, 웹 개발을 위한 다양한 기능과 모듈을 제공.
  • 비교적 입문이 쉬운 언어인 파이썬으로 제작되어 진입장벽이 그렇게 높지 않음
  • 장고로 제작된 대표적인 사이트는 인스타그램, 핀터레스트,NASA 등
  • 자동으로 구성되는 관리자 화면 장고는 웹서비스 콘텐츠 즉 데이터베이스에 대한 관리기능을 위하여 프로젝트를 시작하는 시점에 기본기능으로 관리자 화면을 제공한다.
  • ORM을 기본 적으로 제공한다.
💡 ORM(Object-relational mapping 객체-관계형 매핑)이란?

- 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.
    
    객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다.
    
- ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한
    
    객체를 통해 간접적으로 데이터베이스 데이터를 다룬다.
    

Django의 장단점

장점

  • 파이썬 기반 웹 프레임워크 비교적 익히기 쉬운 파이썬을 기반으로 익히기 쉬우며 파이썬에서 가능한 모든 동작이 가능하며, 강력한 라이브러리들이 많다.
  • 반복적으로 구현해야 하는 부분들이 이미 완성되어 있다. 로그인, 회원가입 인증등 라이브러리를 통해 간단히 구현이 가능하다.
  • 개발시간이 단축된다. 스크립트 언어이므로 비교적 쉽고 간결하며 그 결과 개발시간의 단축으로 다가온다.

단점

  • 파이썬이 가지는 단점을 그대로 가져온다.
    인터프리터 언어이므로 생기는 문제점이 존재한다.
    💡 인터프리터 언어의 단점
    
    - 실행속도가 컴파일러에 비해 느리다
    - 바이트 코드로 해석되기 때문에 프로그램의 코드가 유출될 수 있다.
  • 한글화된 자료가 부족하다.
    한국에서보다 외국에서 많이 사용돼서 대부분 영어로 된 자료가 많다.

  • 이미 만들어진 기능을 사용하는 경우가 많기 때문에 원하는대로 커스텀을 하기가 힘들다.
    이미 라이브러리를 사용하고 있는 상황에서 수정을 해야하는 경우가 많아서 해석해야 한다.

    Django의 구성 요소

-MVT패턴을 따르고 있다.

  • 모델 (Model)
  • 뷰 (View)
  • 템플릿 (Template)
💡 MVT패턴이란?

- MVC(Model-View-Controller)
    
웹 프로그램 개발시 일반적으로 언급되는 MVC(model-view-controller)패턴이란 
데이터(Model), 사용자(View), 데이터를 처리하는 로직(Controller)을 구분해서 
한 요소가다른 요소들에 영향을 주지 않도록 설계하는 방식이다.


파이썬도 이러한 MVC개념을 그대로 받아들였는데, 용어는 다르게 사용하고 있다. 
Django framework에서는 View를 Template, Controller는 View라고 표현한다.

**MVC를 MVT 패턴이라고 합니다.**

모델 (Model)

데이터를 관리하는 역할. 데이터베이스와의 상호작용을 담당하며, 데이터의 생성, 수정, 삭제, 검색 등의 기능을 제공.

뷰 (View)

사용자의 요청에 대한 처리를 담당. 모델에서 가져온 데이터를 가공하여 템플릿으로 전달한다.

템플릿 (Template)

템플릿은 뷰에서 전달받은 데이터를 HTML로 렌더링하여 사용자에게 보여주는 것.


한줄 요약

  • django는 ORM을 기본적으로 제공하는 MVT패턴을 이용한 웹 프레임워크이다.
profile
백엔드 신생아

0개의 댓글