Django Framework - Intro

이제일·2020년 12월 25일
0

Django

목록 보기
1/15
post-thumbnail

django

이번 프로젝트를 진행하면서 django framework를 사용하게 되었는데 이전에 써봤음에도 하나도 기억이 나지 않는 나이기에 나중에 django를 또 쓸 일이 있을 때 찾기 편하게 하기 위해 여기에 작성한다.

간단하게 장고 사용법 및 개념들을 다뤄갈 예정입니다.

해당 내용은 django 공식 문서를 바탕으로 작성되었습니다.


django의 설계 철학

django 설계시 중요하게 생각한 점으로 해당하는 컨셉을 유지시키는 것이 중요하다 생각된다.

  • 신속한 개발

    21세기의 웹 프레임워크의 주안점은 웹 개발의 속도를 높이는 것입니다. Django는 놀라우리만큼 빠른 웹 개발을 가능케 해야 합니다. 또한 해당 프레임워크를 선택한 이유이기도 하다.
  • 적은 코드

    Django는 가능한 한 최소한의 코드를 사용하며, 틀에 박힌 코드를 배제합니다. Django는 인트로스펙션과 같은 Python의 동적인 기능을 최대한 활용합니다.


django의 특징

  • 장고(Django)는 파이썬으로 작성된 오픈 소스 웹 애플리케이션 프레임워크로 MTV (Model Template View) 패턴 사용

    디자인 패턴 : MVC vs MTV

    Model : 데이터베이스에 저장되는 데이터
    View : 어떤 데이터가 로직을 통하여 어떻게 표시될 것인지를 정의한다.
    Controller : Model과 View 사이를 이어주는 매개체 담당, URLconf 등이 속한다.
    Template : 사용자에게 보여지는 부분, html파일 등이 속한다.

    MVC 패턴을 따르지만 장고의 Template으로 인해 MTV라고 이야기함.

  • 고도의 데이터베이스 기반 웹사이트를 작성하는 데 있어서 수고를 더는 것이 장고의 주된 목표입니다.

  • 장고는 컴포넌트의 재사용성과 플러그인화 가능성, 빠른 개발 등을 강조하고 있습니다.

  • ORM(Object-Relational-Mapping) 제공

    객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.
    이는 SQL을 직접 작성하지 않고 CRUD(Create Read Update Delete)작업을 가능하게 합니다.

  • 쉬운 개발 환경 제공
    Django는 자체적으로 테스트용 웹 서버를 포함하고 있어, 개발 과정에서 Apache나 Nginx 등의 웹 서버가 없어도 테스트를 진행할 수 있습니다.


실행 로직

  • Client의 Request는 URL Dispatcher(urls.py)에 전달 되어서
  • 요청을 View(views.py)로 보내고
  • 데이터가 필요하다면 Model(models.py)을 통해
  • database를 가져와서 View(views.py)로 실질적인 데이터를 보낸다.
  • View(views.py)는 Template으로 유저에게 보여줄 데이터를 보내고
  • Template이 js나 html과 같은 다양한 형태의 UI형태로 만들어서 Client에게 응답
profile
세상 제일 이제일

0개의 댓글