해피 코딩!

Django를 사용하게 된 이유 본문

Django

Django를 사용하게 된 이유

지속가능한 성장을 2020. 12. 15. 00:46
  • python 언어 기반이다.

    • 다양한 파이썬의 라이브러리를 사용할 수 있다.
  • 스스로를 배터리팩이라 칭하는 프레임워크이다.

    • build fast, full stack framework라고도 불린다.
  • 인증, 관리와 같이 거의 대부분의 사이트에서 사용하는 기능이 기본 모듈로 제공된다.(로그인, 회원가입, 인증, CORS 등)

  • 데이터베이스 테이블을 models.py에 클래스로 작성하여 작업량을 줄인다.

    • 한 번 작업하면 테이블까지 생성되어 매핑되기 때문에 편하게 작업이 가능하다.
  • python은 강제된 indent가 코드 완성도에 일조한다.

    • 강제된 indent 요약: if, for, def 문 끝에는 콜론을 사용하고 내부 코딩 블럭은 동일한 들여쓰기를 사용한다.
  • ORM (Object Relational Mapping)이 프로젝트의 객체들을 데이터베이스 테이블과 매핑을 도와주어 복잡한 데이터 기반 웹 사이트 개발이 쉬워질 수 있다.

    • ORM: 객체 관계 매핑으로 데이터베이스와 객체 지향 프로그래밍 언어간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이며 객체 지향 언어에서 사용할 수 있는 가상 객체 데이터베이스를 구축
  • 관리자 페이지 지원

  • 쉽고 편한 개발 - 디버깅 환경

    • Django Debug Toolbar
  • 캐시 지원

Django의 단점

  • 성능 문제에서 자유롭지 못하다.
  • 비동기 지원 - 최근의 웹 프레임워크들이 백그라운드 작업을 위한 도구를 미리 제공하는 것에 비하여 django는 celery같은 별도의 프로그램을 구성해 처리해야 한다.
  • polling의 딜레마 : channels라는 실시간 기능을 지원하는 API가 있지만, 편의성이 떨어진다.
  • 자연스럽게 접하게 되는 ORM이 실무에서 설계를 하게 된다면 ORM 코드에 짜기 쉽도록 구성이 되어 SQL에 대한 공부가 필요하다.

출처

  1. https://www.djangoproject.com/
  2. https://mungto.tistory.com/302
  3. https://yonghyunlee.gitlab.io/python/about-django/
  4. https://elky.tistory.com/652
  5. https://blog.lxf.kr/2018-11-19---why-or-not-django/
  6. https://swapps.com/blog/speed-it-up-recommendations-to-make-your-django-app-faster/

'Django' 카테고리의 다른 글

Django form 정리  (0) 2021.01.14
Django의 쿼리와 데이터베이스 레이어  (4) 2020.12.18
pytest를 사용하는 이유  (0) 2020.11.23
Django 구성에 대한 이해  (0) 2020.11.23
WS, WAS - Nginx, uWSGI  (0) 2020.11.23
Comments