본문 바로가기
INFRA/DevOps

[DevOps] Django

by BTC_오은영석사 2023. 12. 7.

베하~! 안녕하세요!

이번주도 돌아온 오은영 석사와 금쪽이 입니다.

한주동안 잘 지내셨나요? 요즘 독감 유행한다고 하니 조심하시길 바랍니다!

사담은 여기까지 하고 이번주 주제는 무엇일까요?!

이번주 주제는 Django 입니다!

그럼 바로 Django에 대해 알아볼까요~

 


 

Django 란?

 

Django는 파이썬으로 제작된 오픈소스 웹 프레임워크입니다.

비교적 입문이 쉬운 언어인 파이썬으로 제작되어 진입장벽이 그렇게 높은 편이 아니며 특유의 높은 생산성으로 특히 스타트업에서 사랑받는 프레임워크입니다.

장고로 제작된 대표적인 사이트는 인스타그램, 핀터레스트 등이 있습니다.

프레임워크 란?

어떤 어플리케이션을 개발하기 위해 필요한 기본적인 클래스와 라이브러리등이 모두 포함되어있는 환경

Django 특징

 

1. MTV 패턴을 사용

 

Model은 DB에 저장되는 데이터

Template은 유저에게 보여지는 UI

View는 데이터를 처리하고 Template에 데이터 전달

 

2. 강력한 ORM기능을 지원

 

ORM(Object Relational Mapping, 객체 관계 매핑)은 객체와 관계형 DB를 연결해주는 개념을 의미

생성한 클래스(객체)를 SQL문으로 자동 변환하여 데이터를 다루는 것으로 SQL문을 사용하지 않고도 DB데이터를 관리

직접 SQL 쿼리를 작성하지 않아도 파이썬 코드로 DB를 조작 가능함을 의미하며 이는 개발자가 애플리케이션의 로직 작성에 집중할 수 있도록 도움

3. 자체적인 템플릿을 지원

 

Django Template을 지원하며, 템플릿 태그를 사용해 HTML 템플릿에 context로 전송된 데이터를 사용 가능

이는 동적인 페이지를 구현하는데 도움

 

4. 소스코드의 변경 사항을 자동으로 반영

 

자동으로 .py파일의 변동을 감시

변경이 감지될 경우 변경 내역을 자동으로 반영하며 코드를 변경할 때 마다 수동으로 웹 서버를 재시작 해야 함

 

장점

1. 파이썬을 기반으로 한 만큼 진입장벽이 낮은 편

2. 생산성이 높고 개발 비용을 꽤 절감 가능

3. URL디자인이 매우 편리

4. 파이썬 기반의 머신러닝, 데이터 분석 라이브러리와 융합하여 사용하기 편함

5. 출시된지 오랜 시간이 흘렀고, Instagram처럼 성공적으로 도입된 사례가 많은 만큼 안정성과 기능이 충분히 검증

6. 커뮤니티 활동이 활발하고, 관련 문서(자료)가 많음

단점

1. 파이썬을 기반으로 한 만큼 파이썬의 단점이 전부 포함

2. 다른 웹 프레임워크에 비해 비교적 속도가 느림

3. 숙련되기 위해선 장고 자체에 대한 이해도 뿐만 아니라 파이썬에 대해서도 높은 이해도를 요구

4. 대부분 한글화가 안되어있음

 

Django 작동 방식

1. 클라이언트가 웹브라우저에서 url을 이용해 장고 서버에 접속 ex) xxx.com/

2. 서버에 접속하면 urls.py는 url요청에 따라 view를 분배 ex) GET xxx.com/myname , POST xxx.com/myposting ...

3. view에서는 클라이언트의 요청을 처리함 

4. 데이터 형태를 모델로 표현하고 Create, Read, Update, Delete 인터페이스를 제공

5. 모델에서 요청한 내용을 실제 데이터베이스 내부에서 처리

6. 사용자 요청에 맞게 html을 만들어 사용자의 웹브라우저로 전달

 


 

이렇게 오늘은 Django에 대해 알아보는 시간이였습니다.

 

유익한 시간이였길 바랍니다!

 

그럼 다음시간에 만나요 베빠~!

 

출처문헌 : https://d-yong.tistory.com/86

출처문헌 : https://tibetsandfox.tistory.com/6

'INFRA > DevOps' 카테고리의 다른 글

[DevOps] Log4j 란?  (1) 2023.12.29
[K8S] ConfigMap  (1) 2023.12.08
AWS Chatbot을 이용한 ChatOps 모니터링  (0) 2023.12.04
[K8S] CronJob  (1) 2023.11.25
[DevOps] React  (2) 2023.11.24

댓글