Django를 쓰는 이유(특징,장점,단점)

김다복·2022년 2월 22일
0

Django를 쓰는 이유...


장고의 홈페이지에 들어가면 나오는 화면

장고의 장점

  1. 장고는 Python 기반 웹프레임 워크이다.
  • 따라서 파이썬에서 가능한 모든 동작이 가능하며, 강력한 라이브러리들이 많다.
  1. 반복적으로 구현해야 하는부분은 이미 만들어져 있다.
  • 로그인, 회원가입, 인증, CORS, data parsing 등 라이브러리를 이용해 간단하게 사용이 가능하다.
  1. 웹을 만들어야 할때 프론트와 관련된 프레임워크(React, Vue, angular)와 같은것을 사용하지 않고도 만들 수 있다.
  • template에 html을 넣어 연동이 가능하며 특정 조건은 DTL(Django Template Language)를 이용하여 조작이 가능하다.
  1. 데이터베이스 테이블을 models.py에 클래스로 작성하여 작업량을 줄인다.
  • 한번 작업하면 테이블까지 생성되어 매핑되기 때문에 편하게 작업이 가능하다.
  1. 위와같은 기능들로 인해 개발시간이 크게 단축된다.

장고의 단점

  1. 파이썬이 가지는 단점을 그대로 가져오게 된다.
  • 인터프리터 언어이기 때문에 생기는 문제점(가장크게 보는것은 속도와 실행될때까지 걸리지 않는 에러)이 있다.
  1. 한국에서 많이 사용되지 않기때문에 한글로된 자료가 찾기 힘들다.
  • 영어잘쓰면 해당되지 않는것 같다.
  1. 이미 만들어진 기능을 사용하는 경우가 많기 때문에 원하는대로 커스텀을 하기가 힘들다.
  • 이미 라이브러리를 사용하고 있는 상황에서 수정을 해야하는 경우가 많아서 해석해야 한다.
  • 그렇지만 다른곳은 이해하고 적용해야 하기때문에 생각해보면 큰 단점이 아닐지도...
  1. ORM 기반이기 때문에 내가 원하는 결과가 나오지 않을때가 있다.
  • 익숙해지면 해결될 문제같지만 join을 하는경우가 힘들었다.
  • 중계테이블을 따로 건드는것이 어렵다.
  • 추천하지는 않지만 SQL을 작성하여 데이터를 가져오는 것도 가능하다고 한다.

장고의 특징

다른 프레임워크에서는 MVC모델이란 것을 사용한다.(특히 Spring)

그런데 장고는 MTV라는 패턴을 사용한다고 적혀있다.

MVC와 비교하여 적어본다.

Model(Model) : 모델은 같다고 생각한다. 데이터에 관한 정보를 다루게 되며 보통 DB쪽을 생각하면 된다.

View(Template) : 실제로 화면을 보여주는 인터페이스이다.

Controller(View) : Model과 View를 연결해주는 역할이다. 동작해야 하는 함수들이 정의되어 있으며,

urls.py에서 넘어온 요청을 토대로 model에서 데이터를 읽어봐 작업을 수행한후 template에서 html파일을 가져와

render한 후에 사용자에게 넘겨주게 된다.

profile
꾸준히 성실하게

0개의 댓글