[Django] 장고 기초 지식

Mincho·2023년 1월 2일
0

[Django]

목록 보기
1/4
post-thumbnail

🔴들어가기 앞서..

장고는 python을 이용한 웹개발에 쉽고 빠르게 만들 수 있도록 도와주는 웹 프레임 워크로 잘 알려저 있다.
쿠키 및 세션 관리, 로그인/아웃 처리 기능, 권한 처리, 데이터베이스 등등 많은 기능을 처리하도록 도와준다. 장고의 특징 및 장점들을 한번 알아보자.



1.장고의 장점

  1. 파이썬 프로젝트를 쉽게 관리하고 개발할 수 있다.
-2005년에 등장한 장고는 15년 이상의 세월을 감내한 프레임워크이다. 그만큼 계속해서 발전해 왔다는 의미이다. 장고를 사용하면 웹 기반의 프로젝트를 관리하기가 쉬워진다. 크롤링 등을 이용해 데이터를 수집하고 분석하여 파이썬 라이브러리를 적극적으로 활용가능하다.

  2. 보안 기능을 기본적으로 제공한다.
-개발자가 웹 프로그램을 만들 때 가장 어렵게 느끼는 기능 중 하나가 보안 기능이다. 수 많은 보안 공격들이 있지만 장고는 이런 보안 공격을 기본으로 잘 막아 준다. 장고의 가장 큰 장점이라고 할 수 있다.

  3. 관리자 페이지를 제공한다.
-장고 프로젝트 생성시 자동적으로 관리자 페이지를 만들어 준다. 이 관리자 페이지를 통해 데이터를 관리하고 db구조 파악을 할 수 있다.



2.MTV 패턴

  - 장고로 만든 웹 사이트는 model로 자료의 형태를 정의하고, view로 어떤 자료를 어떤 동작으로 보여줄지 정의하고, template으로 출력할 모습을 정의한다. >> MTV패턴

  - 이렇게 MTV패턴의 특징을 가진 장고는 백엔드로직과 프론트엔드 디자인을 분리하여 작업할 수 있다는 장점을 가진다.

  - URLconf
URL은 view와 template을 이어주는 역할을 하고 이 부분을 만들어 주는 작업을 URLconf라 한다. 시간이 지나 장고 또한 발전하여 path()함수를 이용해 매핑과정이 간단해 졌다.



3.장고의 작동 원리

  1.클라이언트로 부터 request를 받으면 URLconf를 이용하여 URL을 분석한다.

2.URL분석 결과를 통해 해당 URL과 매핑되는 View를 실행한다.

3.View는 자신의 로직을 실행하고, db처리가 필요하면 Model을 통해 처리하고 결과를 반환 받는다.

4.View의 로직 처리가 끝나면 Template을 사용하여 클라이언트에 전송할 Html파일을 생성한다.

5.View는 최종 결과로 Html파일을 클라이언트에게 보내 응답한다.



3.장고 외 다른 프레임워크

이와 같이 장고는 많은 장점을 가진 파이썬 프레임워크이지만 분명 단점 또한 존재한다. 장고는 무겁고 그렇게 빠른 웹프레임워크가 아니다. 빠른 속도가 필수가 되어 가지만 장고는 그만큼 빠른편이 아니다. 장고 외에 다른 파이썬 프레임워크들의 특징 또한 알아보자.

Pyramid

  • 장고의 무게가 부담스럽다면, 차선책으로 생각해볼만한 프레임워크이다. 매우 큰 프로젝트에서도 감당해 낼 수 있다. 매우 유연하고 확장성이 빠르다.

Flask

  • 플라스크는 WSGI프레임워크이다. django에 비해 코드가 10%정도 밖에 안되는 매우 가벼운 프레임워크로 개발을 쉽게 시작할 수 있다. 프로토타이핑에 가장 빠른 프레임워크라고 해도 과언이아닐정도로 빠르게 개발할 수 있다. 하지만 한번에 많은 트래픽을 처리하기엔 느리다는 단점을 가지고 보안이 비교적 취약할 수 있다는 단점을 가지고 있다.
profile
www.mincho130.xyz <-- 블로그 이사했습니당

0개의 댓글