본문 바로가기

카테고리 없음

Django _시작 (소개)

장고는 2005년부터 시작되었다. python의 오픈소스 웹 프레임워크다. (풀스택)

 

D는 묵음이라서 드장고라고 안읽어도 된다. 

 

데이터베이스랑 연동이 잘되고, 웹개발시 필요한 대부분의 기능들이 모두 내장되어 있어 빠르게 개발하기 좋다.

 

또 보안면에서 아주 좋다. 여러 보안관리를 자동으로 제공한다. 예를들면 장고는 SECURE_SSL_REDIRECT 설정을 제공하는데, 이를통해 모든 HTTP 요청을 HTTPS로 리다이렉트하도록 강제할 수 있다. 이렇게 하면 데이터가 항상 안전하게 전송되도록 해준다. 

 

장점이 있지만 단점도 있다. 대표적으로.. 

장고는 모놀리식 구조를 따른다. Monolithic / 이건 무슨 말이냐면 하나로 뭉쳐있다는거다.

전체 기능들이 통합되어 있는 단일 구조이기 때문에 개발-테스트-배포가 상대적으로 간단하다는 장점이 있다. 

 

근데 서비스의 크기가 엄청 커지다보면 독립적으로 관리하는 것이 좋아서 Micro Service Architecture가 더 선호되기도 한다. 

 

 

그래서 결론적으로 장고는 보안이 중요한 project, 관리자 인터페이스가 필요한 project, 효율적 database 관리가 필요한 project에 아주 유용하다. 

 

 

 

장고로 만든 서비스

- 인스타

- Pinterest (부분적으로 사용)

- 숨은 고수

- 번개장터

- 헤이딜러(내 차 팔기 앱)

- 피플펀드

- 토스(사내 서비스 개발에 사용)

- 로앤굿

 

 

 

 

 

어떤 구조로 되어있나 ? 

MVT 패턴.

 

 

Model 모델

 

장고의 모델은 데이터 구조를 정의한다. 

 

오늘 짜놓은 model.py 내용인데, 보면 class안에 데이터의 유형들을 적어둔 것을 볼 수 있다. 

클래스 안의 하나하나 변수가 데이터베이스의 테이블이 된다. DB의 테이블을 PYTHON 코드로 만든다. 

 

장고는 이렇게 파이썬 코드로 SQL 쿼리 없이도 CRUD가 가능하다. 암튼 모델이 CRUD 역할을 한다.

 

 

View 뷰

뷰는 사용자에게 보이는부분, 사용자 Interface를 담당한다. 사용자의 요청에 따라 model을 통해 데이터를 처리, 그 결과를 template에 전달해준다. 

View > Template

 

 

Template 템플릿

View에서 처리된 데이터를 사용자에게 보여주는 역할을 한다. 

 

 

 

다음 글에서는 본격적으로 장고 실행에 들어가보자 !