기본 Django 프레임워크의 예 이해

의심할 여지없이 Django web framework는 강력하고 유연하다.또한 초보자에게는 공부가 두려울 수도 있다.나는'초보자'강좌를 따라 몇 번 배워 보았다. 비록 성공적으로 그것을 완성했지만 하나의 업무 응용 프로그램의 의미에서 이러한 개념이 클릭되었다는 것을 느껴 본 적이 없다.
Django는 두 가지 기본 패러다임이 있습니다. 이를 이해하고 내화해야 학습하고 성공적으로 사용할 수 있습니다.
  • Django의'항목'(때로는'사이트'라고 부른다)과'응용 프로그램'간의 차이;및
  • Django의 HTTP 요청/응답 주기와 다양한 파일을 통해 페이지가 표시되는 방법
    각각의 Django 전체를 어떻게 지탱하는지, 그리고 당신이 탐색할 수 있는 다른 참고 자료를 자세히 살펴보겠습니다.

  • Django의 프로젝트 및 어플리케이션
    프로젝트와 응용 프로그램 간의 혼동은 간단한 사실에서 비롯된다. 즉, 우리가 흔히 생각하는'응용 프로그램'(전체적인'대화면'패키지)이 바로 Django가 말한 프로젝트이다.그것은 웹 응용 프로그램이나 웹 사이트의 모든 작업을 구성하는 최고급 용기이다.따라서 Django 토론에서'프로젝트'와'사이트'라는 용어를 서로 바꾸어 사용하는 경우도 있다.
    아마도 가장 좋은 사고방식은 대부분의 경우 파이썬 가상 환경을 설정한 후에 Django를 사용하여 개발을 진행할 때 첫 번째 일은 프로젝트를 만드는 것이다.예를 들어, 만약 새 프로그램/사이트 이름이 my web site라면, 이렇게 할 수 있습니다. (나는 Linux를 사용합니다.)
    mkdir my_web_site
    cd my_web_site
    python3 -m venv .venv
    source .venv/bin/activate
    pip3 install django
    django-admin startproject my_web_site .
    
    주의, startproject 명령의 마지막 줄 끝은 . 이며, 현재 디렉터리 django-admin 에서 새 디렉터리를 만드는 것이 아니라 파일을 만드는 것을 알려 줍니다.
    이에 비해 Django 용어의 응용 프로그램은 프로젝트를 논리적으로 세분화하는 방식일 뿐 프로젝트에 모듈화를 제공한다.예를 들어 전자상거래 사이트를 만들고 있다면 제품, 고객, 주문, 쇼핑 카트 등을 위한 단독 앱이 있을 수 있습니다. Django는 모든 앱을 최고급 디렉터리 아래의 단독 하위 디렉터리에 저장합니다.

    HTTP 요청/응답 주기
    우선, 이곳의 몇몇 용어에 의해 지연되지 마라.본질적으로 이것은 누군가가 페이지와 상호작용을 할 때 데이터가 어떻게 Django를 통과하는지를 가리킨다. 예를 들어 링크를 클릭하거나 폼에 데이터를 입력한 다음에 제출 단추를 누르고 Django가 데이터를 처리하도록 하는 것이다.HTTP는 웹 응용 프로그램(그리고 모든 WWW)이 말하는'언어'다.요청은 Django에 들어가는 데이터이고 응답은 Django가 입력 요청을 처리한 후에 보내는 데이터입니다.
    기본 요청/응답 흐름 및 관련 Django 파일은 다음과 같습니다.
    +----------------+
    |      URLs      |
    |    urls.py     |
    +----------------+
             | 
             |
             |
             V 
    +----------------+
    |      View      |
    |  app/views.py  |
    +----------------+
             |  
             |                         
             |
             V                        
    +-----------------+
    | Model (optional)|
    | app/models.py   |
    +-----------------+ 
             |                         
             |                         
             |                         
             V 
    +-----------------+
    |    Template     |
    |  template.html  |
    +-----------------+
    
    먼저, Django는 프로젝트 레벨my_web_site 파일을 검사합니다. 이 파일 자체는 일반적으로 포함된 (종속) 프로그램 레벨urls.py 파일을 포함하고 urls.py 목록을 보고 사용한 경로를 찾습니다.이러한 루트는 사이트 URL의 패턴 ((regular expressions 이라고 불리지만, 처음에는 너무 걱정할 필요가 없다. 예를 들어 urlpatterns, /home 등이다. 이 루트들은 Django에게 특정한 루트를 처리하는 보기를 알려준다.
    다음에 Django는 요청을 특정 응용 프로그램의 상응하는 보기로 지정합니다. (Django의 항목과 응용 프로그램 사이의 차이를 기억하십시오.)Django의 모든 응용 프로그램은 보통 여러 개의 보기를 가지고 있습니다.보기는 보통 데이터베이스 모델에서 페이지의 내용을 가져옵니다.(매우 간단한 사이트, 예를 들어 정적 사이트, 예를 들어 블로그, 당신은 데이터베이스가 없을 수도 있습니다.)
    마지막으로 Django는 템플릿을 가져옵니다. 이 템플릿들은 응용 프로그램 간에 공유할 수 있고 내용과 스타일과 레이아웃, 그리고 템플릿의 일부 기본 논리를 결합시켜 실제 페이지를 보여주고 (구축) 표시할 수 있습니다.템플릿은 페이지에 표준 메뉴, 눈썹, 꼬리를 만들 수 있고, 각각의 페이지를 다시 만들 필요가 없다는 장점을 제공합니다.
    Django를 처음 사용했을 때, 단지 한 페이지를 표시하기 위해서 네 개의 파일을 관리해야 하는데, 이것은 매우 큰 비용인 것 같다.그러나 패턴과 절차에 익숙해지고 범례를 이해하면 그것이 제공하는 힘과 유연성을 깨닫게 될 것이다.

    한층 더
    Django 프레임워크를 사용하기 시작하면 Django for BeginnersbyWilliam S. Vincent를 강력히 추천합니다.이 책은 다섯 가지 항목을 상세하게 소개했는데, 너는 그것들이 뚜렷하고 자연스러울 때까지 관건적인 요소를 반복할 수 있다.
    마지막으로 이거Django documentation 자체가 너무 좋아요.초보자에 대해 말하자면 이것은 일정한 인내심을 필요로 하지만, 두 개의 초보자 강좌를 완성한 후에 본 강좌를 배워서 핵심 개념에 대한 이해를 공고히 하는 것을 권장한다.
    나는 이것이 네가 Django를 배우는 데 도움이 되기를 바란다.아래에서 너의 평론과 문제를 발표해라.

    좋은 웹페이지 즐겨찾기