장고 개념

소개


  • 장고의 튜토리얼을 해 보았고, 설명된 개념이 순조롭게 떨어지지 않았기 때문에, 자신의 이해를 바탕으로 장고의 확고한 형태를 생각해 보았습니다.

  • 개념도





    Model, Template, View, URLConf


  • 일반적으로 URLconf는, View의 일부로 되어 있어 Model, Template, View를 나란히 「MTV」라고 불립니다.
  • 이것은 Larabel이면 Model, View, Controller에 해당합니다.

  • Django는 데이터베이스(Model), 컨텐츠(View), URL(URLConf), 외관(Template)을 분리해 추상화해, 서로 실체를 은폐하려고 합니다.
  • 따라서이 기사에서는 View와 URLConf를 구분하여 설명합니다.


  • 앱(App)


  • 사이트에서, 단 하나의 기능을 실현하는 단위로, 실체는 Python의 모듈입니다.
  • 각 앱마다 고유한 모델, 템플릿, 디스패처 및 뷰를 가질 수 있습니다.

  • 프로젝트


  • 여러 앱이 결합되어 하나의 사이트를 형성합니다.

  • 모델 (models.py)


  • DB의 테이블을 클래스로서 표현한 설계서입니다.
  • 배후의 O/R 매퍼가 DB를 은폐하려고 노력하고 있습니다.


  • URL 디스패처 (urls.py)


  • 사이트의 URL 구성을 정의하고 URL을 추상화합니다.
  • 클라이언트로부터 요구된 URL 패턴에 응해, 복수의 앱이나 뷰에 배분을 실시하는 기구입니다.
  • 원시 URL을 숨깁니다.

  • 프로젝트가 전체 부모이고 앱이 자식이 되는 계층 구조를 구성합니다.
  • 우선 총부모로 앱별로 대략적으로 할당해, 받은 앱내에서 한층 더 세세하게 뷰에 할당하는 느낌입니다.


  • 뷰 (views.py)


  • 요청에 따라 모델에서 데이터를 검색하고 콘텐츠를 구성하여 템플릿에 그리는 메커니즘입니다.
  • Python으로 가볍게 씁니다.


  • 템플릿(templates/*.html)


  • 뷰에서 전달된 콘텐츠를 포함하는 페이지의 모양과 UI를 구성합니다.
  • HTML을 확장한 전용 매크로 언어로 작성되어 렌더링 엔진이 표준 HTML을 생성합니다.


  • 결론


  • 작성자는 Python, Django 모두 초학자이므로, 잘못도 있을까 생각합니다.
  • 주의할 때는, 꼭 코멘트나 편집 리퀘스트로 지적해 주세요.
  • 혹은, 「그래도 모른다」, 「자신은 이렇게 파악하고 있다」등이라고 하는, 의견, 감상도 환영합니다.

  • 다음은 튜토리얼을 검토하고 싶습니다.
  • 좋은 웹페이지 즐겨찾기