Django3.1.4 중국어 문서(1)--빠른 시작!part1

7905 단어 django
앞에 쓰다
이 시리즈는 독자들이 Django 관련 기술 문서를 처음으로 번역하는 데 주로 학습용으로 사용되고 만약에 오류가 있으면 바로잡아 주시고 널리 양해해 주십시오!
getting started
땅고 처음 써봐요?웹 개발 처음 해요?너는 정확한 곳에 왔다!즉시 이 장을 읽고 운행을 시작합시다!
Django 개요
Django는 빠른 리듬의 뉴스 편집실 환경에서 개발된 것으로 웹 개발을 신속하고 편리하게 진행하기 위한 것이다. 본 문서의 목적은 기술 세부 사항을 통해 Django가 어떻게 일을 하는지 알아보는 것이다. 우리 바로 시작합시다!
첫 번째 Django app, part 1 작성
우리는 예시를 통해 학습을 진행할 것이다.본 예시의 학습을 통해 우리는 당신에게 기본적인 여론조사 응용 프로그램 창설 작업을 완성하도록 인도할 것입니다. 이것은 다음과 같은 두 부분을 포함할 것입니다.
  • 여론을 살피고 투표할 수 있는 공공 사이트
  • 여론을 추가, 변경, 삭제할 수 있는 관리 사이트
  • Django installed가 완료되었음을 다시 확인해야 합니다.다음 명령을 사용하여 Django의 설치 여부와 버전을 확인할 수 있습니다.
    python -m django --version

    Django가 이미 설치되어 있으면 버전 정보를 볼 수 있으며 설치되지 않으면 "No module named django"오류가 발생합니다.이번 강좌 작성은 Django3에 기초한 것이다.1,python 지원 3.6 이상 버전, 만약 Django 버전이 맞지 않으면 해당 버전의 Django 튜토리얼을 보거나 Django를 최신 버전으로 업데이트할 수 있습니다.이전 버전의python을 사용하고 있다면, 적합한 Django 버전을 사용하는지 확인하십시오.
    Django version
    Python versions
    1.11
    2.7,3.4,3.5,3.6,3.7(added in 1.11.17)
    2.0
    3.4,3.5,3.6,3.7
    2.1
    3.5,3.6,3.7
    2.2
    3.5,3.6,3.7,3.8(added in 2.2.8),3.9(added in 2.2.17)
    3.0
    3.6,3.7,3.8,3.9(added in 3.0.11)
    3.1
    3.6,3.7,3.8,3.9(added in 3.1.3)
    프로젝트 만들기
    만약 이것이 Django를 처음 사용한다면, 데이터베이스 설정, Django 옵션 설정, 응용 프로그램 설정을 포함한 코드를 자동으로 생성해서 Django 프로젝트를 구축해야 합니다.명령줄 도구를 열고 cd 코드를 저장하고자 하는 폴더에 다음 명령을 입력하고 실행하십시오
    django-admin startproject mysite #    mysite

    현재 폴더 아래에 mysite 폴더를 만듭니다.주의:python 내장 키워드와django 상용어를 사용하지 마십시오!
    코드는 어디에 두어야 합니까?
    만약 백엔드가 오래된 PHP (어떤 현대 프레임워크도 사용하지 않음) 를 사용한다면, 웹 서버 폴더 경로 아래에 코드를 놓을 수 있습니다. (예:/var/www)Django 프레임워크에서는 그렇지 않습니다.이렇게 하면 약간의 위험이 발생하기 때문에 다른 사람들이 네트워크를 통해 당신의 코드를 볼 수 있어 안전에 불리할 수 있습니다.startproject 명령은 다음과 같이 폴더를 만듭니다.
    mysite/
        manage.py
        mysite/
            __init__.py
            settings.py
            urls.py
            asgi.py
            wsgi.py

    이러한 파일의 역할은 다음과 같습니다.
  • 외부의 mysite 폴더는 전체 프로젝트의 용기입니다. 이 폴더의 이름은 Django의 실행에 영향을 주지 않기 때문에 임의로 수정할 수 있습니다
  • manage.py: 이 Django 프로젝트와 다양한 방식으로 상호작용할 수 있는 명령줄 유틸리티입니다.
  • 내부의 mysite 폴더는 이 프로젝트에 필요한 Python 확장 패키지입니다. 폴더에 파일을 가져올 때 이름을 사용해야 합니다. (예: mysite.urls
  • mysite/__init__.py: 빈 파일은python 해석기에 이 폴더가python 확장 패키지로 해석되어야 한다는 것을 알리기 위한 것이다.
  • mysite/setting.py: 이 Django 프로젝트의 프로필입니다.
  • mysite/urls.py: 이 Django 프로젝트의 Urls 경로 파일로 URL을 정의합니다.
  • mysite/asgi.py: Django 프로젝트에 ASGI 호환 서버 포털을 제공합니다.
  • mysite/wsgi.py: Django 프로젝트에 WSGI와 호환되는 서버의 입구를 제공합니다.

  • 개발 서버
    Django 프로젝트가 제대로 실행되고 있는지 확인합니다.cd에서 mysite 폴더로 다음 명령 실행
    python manage.py runserver

    명령줄에서 다음 출력을 볼 수 있습니다
    Performing system checks...System check identified no issues (0 silenced).You have unapplied migrations; your app may not work properly until they are applied.Run 'python manage.py migrate' to apply them.January 22, 2021 - 15:50:53Django version 3.1, using settings 'mysite.settings' Starting development server at http://127.0.0.1 :8000/Quit the server with CONTROL-C.
    이 명령을 통해 순수히python에서 작성한 Django 개발 서버가 실행되기 시작합니다. 이 기능을 포함하는 것은 개발을 더욱 신속하게 하기 위해서입니다. 예를 들어 Apache 서버 같은 서버 설정이 필요하지 않기 때문입니다. 프로젝트를 실제 제품에 적용할 준비가 될 때까지.
    주의: 본 개발 서버를 실제 운영 제품에 실행하지 마십시오. (저희는 웹 프레임워크 분야에서 전문적입니다! 서버 분야가 아닙니다!)
    현재 서버가 실행되고 있습니다. 웹 브라우저를 통해 접근http://127.0.0.1:8000/하면 "Congratulations"인터페이스를 볼 수 있습니다. 서버가 정상적으로 실행됩니다!
    포트 변경runserver 명령은 기본적으로 8000 포트에서 개발 서버를 실행합니다.포트를 바꾸려면 명령행 파라미터를 추가하면 됩니다. 예는 다음과 같습니다. 서버는 8080 포트에서 실행됩니다.
    python manage.py runserver 8080

    서버의 IP 주소를 변경하려면 포트와 함께 매개 변수에 IP 주소를 전달하면 됩니다. 예를 들어 이 IP 주소에 접근할 수 있는 모든 웹 요청을 감청할 수 있습니다.
    python manage.py runserver 0:8000

    그 중에서 0은 0.0.0.0의 약자 형식이다.
    서버 자동 재로드
    개발 서버는 필요할 때마다 웹 요청에python 코드를 다시 불러옵니다.코드를 변경한 후 서버를 다시 시작할 필요가 없다는 뜻이다.그러나 파일을 추가하는 것은 서버의 재부팅을 일으키지 않기 때문에 변경 작업이 끝난 후에 서버를 다시 시작해야 한다.
    여론조사 앱 만들기
    현재 프로젝트 환경은 이미 준비가 다 되었다!Django에서 작성한 모든 응용 프로그램에는 특정 규칙을 따르는 Python 패키지가 포함되어 있습니다.Django에는 응용 프로그램의 기본 디렉토리 구조를 자동으로 생성하는 유틸리티가 포함되어 있으므로 디렉토리를 만드는 대신 코드를 작성하는 데 집중할 수 있습니다.
    프로젝트와 apps
    프로젝트와 apps 사이에는 어떤 차이가 있습니까?앱은 일정한 기능을 실현할 수 있는 인터넷 응용 프로그램이다. 예를 들어 인터넷 블로그 시스템, 공공 기록 데이터베이스 또는 소형 여론 조사 앱이다.한편, 프로젝트는 특정한 사이트를 대상으로 하는 일련의 app와 그 설정의 집합이다. 하나의 프로젝트는 여러 개의 apps를 포함할 수 있고 한 app는 여러 개의 프로젝트에 존재할 수 있다.
    apps는python 경로 아래 어디에나 존재할 수 있습니다.본 강좌에서 우리가 만든 폴 앱은 manage.py과 같은 디렉터리에 있어 맨 윗부분 모듈로 직접 도입할 수 있다.manage.py가 현재 디렉터리에 있는지 확인하고 다음 명령을 실행하십시오
    python manage.py startapp polls

    이 명령은 polls 라는 폴더를 만들 것입니다. 구조는 다음과 같습니다.
    polls/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py

    첫 번째view 파일 작성
    이제 첫 번째view 파일을 작성합니다.파일 polls/views.py 을 열고 다음python 코드를 쓰십시오.
    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("Hello, world. You're at the polls index.")

    이것은 가장 간단한 보기 함수입니다. 이 함수를 호출하기 위해서는 URL에 비추어야 합니다. 따라서 URL 설정이 필요합니다.먼저 urls.py 파일을 만들고 app 디렉터리 트리는 다음과 같습니다.
    polls/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        urls.py
        views.py
    polls/urls.py에 다음 코드를 씁니다.
    from django.urls import path
    from . import views
    urlpatterns = [
        path('', views.index, name='index'),
    ]

    다음 단계는 url 루트 파일을 polls.urls 모듈로 설정하고 mysite/urls.py 파일에 모듈django.urls.include을 도입하고 urlpatterns 목록에 삽입include()한다. 구체적으로는 다음과 같다.
    from django.contrib import admin
    from django.urls import include, path
    urlpatterns = [
        path('polls/', include('polls.urls')),
        path('admin/', admin.site.urls),
    ]
    include() 기능 함수는 다른 URL 프로필을 도입할 수 있습니다. Django가 언제 include()를 도입했든지 간에 이곳을 분할하고 나머지 문자열은 포함된 URLconf에 보내서 처리합니다.include() 방법은 웹 주소의 삽입과 사용을 잘 실현할 수 있다.polls의 웹 주소는 파일 polls/urls 에 설정되어 있으며, '/polls/', '/content/polls/' 또는 다른 경로에 놓아도 프로그램이 잘 실행될 수 있습니다.
    include () 는 언제 사용합니까?
    다른 사이트 형식을 포함할 때 include() 사용해야 합니다. admin.site.urls 는 유일한 예외입니다.
    현재 index 보기 함수를 url 주소에 비추었습니다. 다음 명령으로 정상적으로 실행되고 있는지 확인하십시오.
    python manage.py runserver

    브라우저에서 웹 주소http://localhost:8000/polls/에 들어가면 "Hello, World. You're at the polls index"를 볼 수 있습니다. 이것은 index 보기 함수에 정의된 것입니다.
    path() 매개 변수:route 경로는 URL 형식을 포함하는 문자열입니다.요청을 처리할 때마다 Django는 urlpatterns 목록에서 일치하는 요청의 사이트 경로를 순서대로 찾고 한 번만 일치합니다.경로 형식은 GET 및 POST 매개변수를 검색하지 않습니다.예를 들어 요청 주소https://www. example.com/myapp/, 경로 설정 파일은 myapp/ 경로에 대응하는 보기 파일을 찾고, 요청 주소https://www. example.com/myapp/?page=3, 경로 설정 파일은 여전히 찾습니다myapp/.path () 매개 변수:view Django가 일치하는 경로를 찾을 때마다 HttpRequest 대상을 첫 번째 매개 변수로 하는 보기 함수를 호출하고 나머지 포획 값은 키워드 매개 변수로 보기 함수에 전달됩니다.이후에 예시를 하나 만들어 설명할 것이다.path () 매개 변수: kwargs는 사전에서 임의의 키워드 매개 변수를 목표 보기에 전달할 수 있습니다.이 자습서에서는 Django의 이 기능을 사용하지 않습니다.path () 매개 변수:name은 URL 이름을 Django의 다른 부분, 특히 템플릿 파일에서 명확하게 인용할 수 있습니다.이 강력한 기능을 사용하면 단일 파일의 매개 변수 하나만 변경하여 항목의 URL 형식을 전체적으로 변경할 수 있습니다.

    좋은 웹페이지 즐겨찾기