초보자를 위한 Django 튜토리얼: 기능, Archi강의 및 역사

Django 튜토리얼 요약

이 Django 튜토리얼은 모든 기본 주제를 처음부터 다룹니다. 이 튜토리얼에서는 Django란 무엇인가, Django 역사, Django 기능, Django 프레임워크의 특징, Django의 구성 요소, 장단점 등의 개념을 배우게 됩니다.
Django를 배우기 전에 다음 사항을 이해해 봅시다.

웹 프레임워크란 무엇입니까?

웹 프레임워크는 유연하고 확장 가능하며 유지 관리 가능한 프레임워크를 구축하는 데 도움이 되는 코드 라이브러리입니다. 동적 웹사이트, 웹 앱, 웹 서비스. 다양한 웹 프레임워크로는 PHP용 Zend가 있습니다. Ruby on Rails 루비 등의 경우

장고는 무엇입니까?

장고 웹 개발 프레임워크입니다. Python 빠르고 효과적인 웹사이트 개발을 위한 표준 방법을 제공합니다. 이 고급 웹 프레임워크의 주요 목표는 복잡한 데이터베이스 기반 웹사이트를 만드는 것입니다. 고품질 웹 애플리케이션을 구축하고 유지 관리하는 데 도움이 됩니다. 신속한 개발을 위해 개발 프로세스를 원활하고 시간을 절약할 수 있습니다.

왜 장고인가? Django의 주요 장점

Django의 주요 장점은 다음과 같습니다.

  • Django는 설정과 실행이 쉽습니다. 시작하는 데 필요한 다양한 옵션을 제공합니다.
  • 관리 활동을 위해 바로 사용할 수 있는 사용자 인터페이스를 제공합니다.
  • 내장된 국제화 시스템을 사용하여 다국어 웹사이트를 가능하게 합니다.
  • 대규모 트래픽 수요를 신속하게 충족할 수 있도록 지원
  • Django는 모든 유형의 콘텐츠 관리 시스템, 소셜 네트워크 및 과학 컴퓨팅 플랫폼을 구축하는 데 사용됩니다.
  • Django는 엔드투엔드 애플리케이션 테스트를 제공하는 데 도움이 됩니다.
  • HTML 출력으로 API를 문서화하는 데 도움이 됩니다.
  • REST Framework는 여러 인증 프로토콜을 풍부하게 지원합니다.
  • 권한 및 제한 정책
  • 단일 사용자의 속도 제한 API 요청에 널리 사용됩니다.

장고의 역사

출간연도 연혁
2003 이 프로젝트는 Lawrence Journal-World 신문의 내부 프로젝트로 Adian Holovaty와 Simon Willison에 의해 시작되었습니다.
2005년 7월 2005년 XNUMX월 재즈 기타리스트 Django Reinhard의 이름을 딴 "Django"로 발매되었습니다.
2008년 5월 Django 소프트웨어라고 선언 Foundation (DSF)는 Django를 유지 관리합니다.
29 7월 2009 Django 1.1 버전은 Aggregates, 트랜잭션 기반 테스트와 같은 기능을 포함하여 출시되었습니다.
17 월 2010 Django 1.2 버전이 출시되었습니다. 이 업데이트는 다중 데이터베이스, 이메일 백엔드 구현, 세션 및 쿠키에 대한 개선과 같은 기능을 제공했습니다.
월 23 2011 클래스 기반 보기, 정적 파일과 같은 기능을 갖춘 1.3 버전이 도입되었습니다.
월 23 2012 시간대 및 브라우저 내 테스트와 같은 새로운 기능이 포함된 1.4 버전 출시
2월 26 2013 1.5 버전이 함께 제공됩니다. Python 3 지원, 구성 가능한 사용자 모델 기능.
6 11월 2013 1.6 버전에는 DB 트랜잭션 관리, 연결 풀링 기능이 추가되었습니다.
2 9월 2014 1.7 버전에는 애플리케이션 로드, 마이그레이션 및 구성과 같은 새로운 기능이 있습니다.
1 4월 2015 여러 템플릿 엔진에 대한 기본 지원이 제공됩니다.
1 12 월 2015 1.9 버전에서는 자동 비밀번호 확인 기능이 도입되었습니다.
8월 1 2016 1.10 버전에서 전체 텍스트 검색 PostgreSQL 시작했다.
4 4월 2017 1.11 버전이 지원되는 마지막 버전이 됩니다. Python 2.7
2 12 월 2017 버전 2.0은 최초의 Python 3 전용 릴리스 버전이 됩니다.
8월 1 2018 버전 2.1에는 모델 "보기" 권한 지원 기능이 제공됩니다.
2021 Django 3.0에 대한 지원이 제거되고 Django 3.2 지원이 추가되었습니다.

이제 초보자를 위한 Django 튜토리얼에서는 Django의 기능에 대해 알아 보겠습니다.

장고의 특징

다음은 Django의 기능입니다.

  • 애플리케이션의 URL 패턴을 정의하는 데 도움이 됩니다.
  • 간단하지만 강력한 URL 시스템
  • 내장된 인증 시스템
  • 동급 최고의 데이터 저장 및 검색을 제공하는 객체 지향 프로그래밍 언어 데이터베이스
  • 자동 관리 인터페이스 기능을 통해 항목 추가, 편집 및 삭제 기능을 사용할 수 있습니다. 필요에 따라 관리자 패널을 사용자 정의할 수 있습니다.
  • 캐시 프레임워크에는 여러 캐시 메커니즘이 함께 제공됩니다.

이제 이번 Django 프레임워크 튜토리얼에서는 Django의 특징에 대해 알아 보겠습니다.

장고의 특징

Django의 주요 특징은 다음과 같습니다.

  • 느슨하게 결합됨 - Django는 스택의 각 요소를 다른 요소와 독립적으로 만들 수 있도록 도와줍니다.
  • Less 코드- 효과적인 개발 보장
  • 반복하지 않음 - 모든 것을 다시 반복하지 말고 정확히 한 곳에서 전개해야 함
  • 빠른 개발 - Django는 빠르고 안정적인 애플리케이션 개발을 제공합니다.
  • 일관된 디자인 - Django는 깔끔한 디자인을 유지하고 최고의 웹 개발 방식을 쉽게 따르도록 해줍니다.

Django 초보자를 위한 다음 튜토리얼에서는 Django의 아키텍처에 대해 알아보겠습니다.

장고 Archi강의: MVC 및 MVT

Django의 자세한 아키텍처는 다음과 같습니다.

장고 Archi강의
장고 Archi강의

MVC 패턴

UI(웹 또는 데스크톱)를 제공하는 애플리케이션에 대해 이야기할 때, 우리는 보통 MVC 아키텍처에 대해 이야기합니다. MVC 패턴은 모델, 뷰, 컨트롤러를 기반으로 합니다.

The 모델 데이터 구조를 정의하고 데이터베이스 쿼리를 처리합니다.

The 관측 어떤 데이터가 표시되어야 하는지 정의하고 HTTP 응답을 반환합니다.

The 제어 장치 사용자 상호작용을 처리하는 애플리케이션의 일부입니다.

장고 MVC-MVT 패턴

모델-뷰-템플릿(MVT)은 MVC와 다른 개념입니다. 이 두 아키텍처 패턴의 주요 차이점은 Django 자체가 컨트롤러 부분(모델과 뷰 간의 상호 작용을 제어하는 ​​소프트웨어 코드)을 관리한다는 것입니다. 템플릿은 DTL이라고도 하는 Django 템플릿 언어 파일과 혼합된 HTML 파일입니다.

아래 다이어그램은 MVT 패턴의 모든 구성 요소가 서로 상호 작용하여 사용자 요청에 따라 서비스를 제공하는 방법을 보여줍니다.

장고 Archi강의: MVC 및 MVT

MVT Archi강의

위 다이어그램에서 볼 수 있듯이 사용자는 Django에 리소스를 요청합니다. Django는 컨트롤러 역할을 하며 URL에서 사용 가능한 리소스를 확인합니다.

URL이 매핑되면 모델 및 템플릿과 상호 작용하는 뷰가 호출됩니다. 그런 다음 Django는 사용자에게 응답하고 응답으로 템플릿을 보냅니다.

이제 초보자를 위한 Django 튜토리얼 시리즈에서는 Django의 구성 요소에 대해 알아 보겠습니다.

장고의 구성요소

형태

Django에는 양식 렌더링을 HTML로 처리하는 강력한 양식 라이브러리가 있습니다. 라이브러리는 제출된 데이터의 유효성을 검사하고 이를 다음으로 변환하는 데 도움을 줍니다. Python 유형.

인증

사용자 계정, 그룹, 쿠키 기반 사용자 세션 등을 처리합니다.

관리자

모델의 메타데이터를 읽어 사이트의 콘텐츠를 관리하는 데 사용할 수 있는 강력한 인터페이스를 제공합니다.

국제화

Django는 다양한 언어로 텍스트를 번역하고, 날짜, 시간, 숫자, 시간대의 로케일별 형식을 지정하는 기능을 제공합니다.

보안

Django는 다음 공격으로부터 보호 기능을 제공합니다.

  • CSRF (Cross-Site Request Forgery)
  • 교차 사이트 스크립팅
  • SQL 인젝션
  • 클릭 재킹
  • 원격 코드 실행

Django를 사용하는 유명 기업

Django를 사용하는 회사는 다음과 같습니다.

  • BitBucket
  • DISQUS
  • NASA
  • PBS(공영방송 서비스)
  • 핀터레스트
  • 인스타그램
  • 모질라
  • 워싱턴 포스트
  • NY 타임스
  • LA 타임즈
  • 가디언 내셔널 지오그래픽
  • 디스커버리 채널

Django 사용의 단점

  • 프로세스는 여러 요청을 동시에 처리할 수 없습니다.
  • Django는 매우 모놀리식 도구입니다.
  • 구성 요소가 함께 배포되면 혼란이 발생할 수 있습니다.
  • Django 작업에 필요한 전체 시스템에 대한 지식
  • 웹 애플리케이션 구성 요소를 긴밀하게 결합합니다.
  • 사소한 작업에는 긴 프로그래밍을 수행해야 합니다.

요약

  • Django는 웹 개발 프레임워크입니다. Python 빠르고 효과적인 웹사이트 개발을 위한 표준 방법을 제공합니다.
  • Django는 2003년 Adian Holovaty와 Simon Willison이 Lawrence Journal-World 신문의 내부 프로젝트로 시작했습니다.
  • Django는 HTML 출력으로 API를 문서화하는 데 도움을 줍니다.
  • Django를 사용하면 필요에 따라 관리 패널을 사용자 정의할 수 있습니다.
  • Django는 스택의 각 요소를 다른 요소와 독립적으로 만들 수 있도록 도와줍니다.
  • MVC와 MVT 아키텍처 패턴의 주요 차이점은 Django 자체가 컨트롤러 부분을 관리한다는 것입니다.
  • Django 아키텍처의 필수 구성 요소는 다음과 같습니다: 폼, 인증, 관리, 국제화, 보안.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla 등은 Django를 사용합니다.
  • Django의 가장 큰 단점은 여러 요청을 동시에 처리할 수 없다는 것입니다.