Django 튜토리얼: 스크래치에서 Django 배우기
게시 됨: 2022-02-17Django는 효과적인 웹 사이트 개발 및 유지 관리를 위한 표준 방법을 제공하는 Python 기반의 고급 웹 개발 프레임워크입니다. 깨끗하고 실용적인 디자인으로 복잡한 데이터베이스 기반 웹사이트를 만드는 것이 주요 목표인 Django는 최소한의 코드 개입으로 웹 애플리케이션을 빠르게 개발할 수 있는 기성 구성 요소를 제공합니다.
초보자를 위한 이 Python Django 자습서에서는 Django 역사, 기능, 아키텍처, 구성 요소 및 설치와 같은 기본 Django 개념을 살펴보겠습니다.
목차
장고의 역사
Adrian Holovaty와 Simon Willison은 2003년 Lawrence Journal-World Newspaper에서 내부 프로젝트로 Django를 시작했습니다. 이 프로젝트는 재즈 기타리스트 Django Reinhard의 이름을 따서 2005년 "Django"라는 이름으로 출시되었습니다. 2008년 Django는 Django Software Foundation의 등록 상표로 선언되었으며 2009년 Django v1.1이 출시되었습니다. 번역 기반 테스트 및 집계와 같은 기능이 있었습니다. Django의 고급 버전은 다음 해에 출시되었습니다. 현재 Django는 오픈 소스 프로젝트입니다.
장고의 특징
초보자를 위한 이 Django 튜토리얼에서는 이제 Django를 웹 개발을 위한 훌륭한 프레임워크로 만드는 기능을 살펴보겠습니다.
- Django 프레임워크의 코드는 Linux, Windows 및 Mac OS와 같은 대부분의 플랫폼에서 실행되는 Python으로 작성됩니다. 이것은 Django를 꽤 이식성 있게 만듭니다.
- Django 문서는 시장에서 최고 중 하나입니다. 의심할 여지 없이 개발자들 사이에서 매우 인기가 있습니다!
- Django는 높은 확장성을 제공합니다. 수백만 명의 활성 사용자가 있는 가장 인기 있는 소셜 미디어 플랫폼 중 하나인 Instagram은 Django의 확장성을 보여주는 대표적인 예입니다.
- Django는 매우 안전한 프레임워크입니다. 사이트 간 스크립팅, SQL 주입, 사이트 간 요청 위조, 원격 코드 실행 및 클릭재킹과 같은 공격에 대한 보호 기능을 제공합니다.
- Django는 매우 다재다능하며 거의 모든 종류의 웹사이트를 구축할 수 있습니다. 모든 클라이언트 측 프레임워크와 함께 작동하고 JSON, HTML, XML 등과 같은 다양한 형식의 콘텐츠를 전달할 수 있습니다.
- 가장 중요한 것은 Django가 빠른 개발을 제공한다는 것입니다. 완벽하게 작동하는 웹사이트를 구축하기 위해 백엔드 지식과 별도의 서버 파일이 필요하지 않습니다.
읽기: Github의 7가지 최고의 Django 프로젝트 [초보자 및 숙련자용]
장고 아키텍처
Django 아키텍처는 MVC(Model View Controller) 소프트웨어 디자인 패턴을 기반으로 합니다. 기존의 웹사이트 디자인 방식에서는 모든 코드가 단일 파일에 작성되었습니다. 이 기술은 웹 페이지가 주로 정적이며 웹 사이트에 멀티미디어가 많지 않은 옛날에 유용했습니다. 그러나 시대가 변하고 웹 사이트가 더 광범위하고 발전함에 따라 전통적인 접근 방식은 따라가지 못했습니다.
MVC 패턴은 기존 접근 방식의 단점을 해결하고 웹 사이트 또는 웹 애플리케이션의 다양한 측면에 대해 다른 파일을 가지고 있습니다. MVC 아키텍처에는 모델, 보기 및 컨트롤러의 세 가지 구성 요소가 있습니다. 개발자가 웹 애플리케이션의 한 부분에 집중할 수 있도록 하여 더 나은 확장성, 코딩, 테스트 및 디버깅을 보장합니다.
모델
모델은 데이터베이스와 웹사이트 인터페이스 사이의 중재자 역할을 합니다. 보다 기술적인 측면에서 모델은 애플리케이션의 데이터 도메인에 대한 논리를 구현합니다. 원하는 형식으로 서버의 출력을 처리하는 주 컨트롤러인 Business Logic을 포함하는 Django 아키텍처의 구성 요소입니다.
예를 들어 웹사이트에 가입할 때 컨트롤러 구성 요소에 정보를 보내면 컨트롤러 구성 요소가 이를 모델로 전송하고 비즈니스 로직을 적용한 후 데이터베이스에 저장합니다.
보다
Django 아키텍처의 뷰 구성 요소는 UI 로직을 포함하고 어떤 데이터를 표시할지 결정합니다. 웹 애플리케이션의 사용자 인터페이스이며 CSS, HTML 및 기타 프론트 엔드 기술과 같은 부분을 포함합니다. UI는 모델 구성 요소에서 콘텐츠를 가져옵니다.
예를 들어, 링크를 클릭하는 것과 같이 웹 사이트 구성 요소와 상호 작용할 때 생성된 새 웹 페이지는 실제로 특정 보기입니다.
제어 장치
컨트롤러는 Django 아키텍처의 기본 제어 구성 요소입니다. 사용자 상호 작용을 처리하고 모델을 기반으로 보기 구성 요소를 결정합니다. 모델 및 보기의 이전 예에서 컨트롤러가 다른 보기를 선택하고 데이터를 모델로 전송한다는 것이 매우 분명합니다.
원천
Django는 '컨트롤러'에 대해 '뷰'라는 용어를 사용하고 '뷰'에 대해 '템플릿'이라는 용어를 사용합니다. 따라서 Model View Template의 약어인 Django MVT 아키텍처로 설명되는 Django MVC 아키텍처도 찾을 수 있습니다. 템플릿 구성 요소는 프레젠테이션 논리를 처리하고 사용자에게 표시할 콘텐츠와 방법을 결정하는 프레젠테이션 계층입니다.
원천
Django 설치 및 기본 프로젝트 생성
Django를 시작하기 전에 PC에 Python과 Django를 모두 설치해야 합니다. 다음은 단계별 Django 설치 가이드입니다.
1단계: Python 3 설치
- 시스템에 아직 Python 3이 없으면 설치하십시오. Python 3을 설치하면 Python 패키지 관리자 pip도 설치해야 합니다.
- Windows의 경우 명령 프롬프트(Linux 및 Mac의 경우 터미널 프롬프트)를 열고 다음 명령을 입력합니다.
파이썬 -m pip 설치 -U pip
- 이제 다음 명령어를 입력하여 가상 환경을 설치합니다.
핍 설치 virtualenv - 다음으로 가상 환경을 설정해야 합니다.
virtualenv env_site 명령을 제공하여 가상 환경을 만듭니다.
cd env_site 명령을 사용하여 디렉토리를 env_site로 변경하십시오.
env_site 내부의 scripts 디렉토리로 이동하여 가상 환경을 활성화합니다.
CD 스크립트
활성화
2단계: Django 설치 및 기본 프로젝트 생성
- Django를 설치하려면 다음 명령을 입력하십시오.
핍 설치 장고 - 이제 cd.. 명령을 입력하여 env_site 디렉토리로 돌아갑니다.
- 다음 명령을 입력하여 프로젝트를 시작합니다.
django-admin startproject upgrad_project - 다음 명령을 사용하여 디렉토리를 upgrad_project로 변경하십시오.
CD 업그레이드_프로젝트 - 다음 명령을 사용하여 서버를 시작합니다.
파이썬 관리.py 실행 서버
- 서버를 실행할 수 있으면 브라우저로 이동 하여 URL 표시줄에 Localhost:8000 을 입력합니다. Django를 성공적으로 설치했다면 테스트 서버 페이지에 그렇게 되었다는 메시지가 나타날 것입니다.
Django의 인기
Django 프레임워크는 고급 웹 기반 애플리케이션을 구축하는 데 사용되며 SaaS 솔루션 및 전자 상거래 사이트를 포함한 다양한 비즈니스 프로세스를 지원합니다. Django가 데이터베이스를 많이 사용하는 앱에서 인기 있는 이유는 기계 학습에서 Python 및 Python의 응용 프로그램과의 연관성 때문입니다. Django는 빠른 웹 개발과 깨끗하고 효율적인 디자인을 가능하게 합니다. Django를 사용하는 유명 회사에는 Instagram, Mozilla, Disqus, Spotify, National Geographic, YouTube, The Washington Post, Pinterest 등이 있습니다.
더 읽어보기: Django 애플리케이션: 알아야 할 모든 것
결론
Django는 웹 애플리케이션을 구축하고 유지하기 위한 Python 기반 웹 개발 프레임워크입니다. 확장 가능하고 다재다능하며 매우 안전한 Django는 웹 개발 프로세스를 원활하고 시간을 절약하는 경험으로 만듭니다.
빠른 개발 외에도 Django는 코드 전체에 걸쳐 깔끔한 디자인 철학을 고수하므로 웹 개발 모범 사례를 쉽게 적용할 수 있습니다. 또한 Django는 엔드 투 엔드 앱 개발 및 테스트를 위한 경량 웹 서버인 즉시 사용 가능한 관리 GUI를 제공하고 RSS, Ajax 등을 내장 지원합니다. 또한 광범위한 데이터베이스 세트를 지원합니다. 시스템. 그러나 Django는 한 번에 여러 요청을 처리할 수 없습니다.
초보자를 위한 이 Django 튜토리얼에서는 설치 단계를 포함하여 Django의 몇 가지 기본적인 측면에 대해 논의했습니다.
세계 최고의 대학에서 온라인으로 소프트웨어 개발 과정을 배우십시오. 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
앞으로의 길
초보자를 위한 이 Django 튜토리얼에서는 설치 단계를 포함하여 Django의 몇 가지 기본적인 측면에 대해 논의했습니다. 다음으로 고급 Django 주제로 진행할 수 있습니다.
Django를 배우기 전에 Django를 더 잘 이해할 수 있도록 Java 기반을 확보하는 것이 좋습니다. 하지만 Java를 배우고 DevOps에서 고급 인증을 받을 수 있다고 하면 어떨까요?
DevOps에서 upGrad의 고급 인증서 프로그램을 사용하면 가능합니다 .
코스 하이라이트:
- 일하는 전문가를 위해 설계되었습니다.
- IIT 방갈로르의 고급 인증.
- 250시간 이상의 학습.
- Python 을 포함한 관련 프로그래밍 언어, 도구 및 라이브러리에 대한 포괄적인 범위 .
- 업계 전문가 안내.
- 피어 투 피어 학습 및 네트워킹.
- 360도 경력 지원.
1. Django는 초보자에게 좋은가요?
Django는 웹사이트와 웹 앱을 구축하기 위한 오픈 소스 프레임워크입니다. Django는 Python 기반이므로 초보자에게 이상적입니다. 파이썬은 이제 막 코딩을 배우는 초보자에게 가장 쉽고 좋은 언어 중 하나입니다. 따라서 Python 기술이 있으면 Django를 사용하기가 더 쉬울 것입니다.
2. Instagram은 Django를 기반으로 합니까?
가장 크고 인기 있는 소셜 미디어 앱 중 하나인 Instagram은 백엔드에서 Python을 사용합니다. 전적으로 Python으로 작성된 Django 프레임워크의 세계 최대 배포를 자랑합니다. Instagram은 공유, 좋아요 등의 형태로 많은 사용자 및 데이터 상호 작용을 포함하므로 Django는 이 모든 것을 처리하는 데 이상적입니다. Django에서 실행되는 다른 인기 있는 앱으로는 YouTube, Spotify, Disqus, Dropbox 등이 있습니다.
3. Django와 HTML의 차이점은 무엇입니까?
Django는 웹사이트와 웹 애플리케이션을 구축하는 빠르고 쉬운 방법을 제공하는 Python 기반 프레임워크입니다. 반면에 HTML은 웹사이트의 구조와 콘텐츠를 지시하는 마크업 언어이며 정적 웹사이트를 구축하는 데에만 사용할 수 있습니다. 예를 들어, HTML은 웹 페이지의 콘텐츠가 목록, 단락 집합 또는 데이터 테이블 및 이미지 형식으로 구성되어야 하는지를 결정합니다.