장고를 시작하자!튜토리얼①~

8930 단어 Django

개요


지난번 계속.
이번에는 파이썬에서 가장 인기 있는 웹 응용 프로그램 프레임워크 Django 의 강좌를 만들고 싶습니다.
역시, 나는 프레임워크의 입문은 본가의 강좌에만 한정된다고 생각한다.
다행히도 Django 일본어 번역 강좌도 있습니다.

튜토리얼에서 우리는 투표 프로그램과 유사한 것을 만들었다.
간단한 요구 사항은 다음과 같습니다.
  • 공개 사이트
  • , 사용자는 투표하거나 결과를 표시할 수 있다
  • 투표 항목을 추가, 변경, 삭제하는 관리(admin) 사이트
  • 파이썬 프레임워크


    Python 프레임워크는 "Django"를 선택합니다.
    이유는 다음과 같다.
  • 은 Django의 확장 프레임워크로서 djangorestframework라는 RESTfulAPI를 전문적으로 제작하는 프레임워크가 있습니다.
  • React+Django를 사용할 수 있습니다.
  • 파이썬의 웹 응용 프로그램 프레임워크에서 가장 인기가 많기 때문에 일본어 참고 자료 등이 많다.
  • 에는 AWS 관련 Django 전용 모듈이 많이 있습니다.
  • 다른 후보들 중에서도'Bottle','Flask','Tornado'등이 인기가 많지만 파이썬이라는 큰 개요를 잡기 위해 가장 인기 있는 프레임워크부터 시작하고 싶습니다.

    환경


    지난번까지의 문법편은 Python2였다.x계를 사용했기 때문에 이번에는 3.나는 x계로 진행하고 싶다.
    항목
    컨텐트
    OS
    MacOS X
    Python
    v3.5.2
    Django
    v1.10.2

    Django 설치


    다음 명령을 사용하여 Django를 설치합니다.
    terminal
    $ pip install django
    
    다음 명령을 사용하여 설치 및 버전을 확인합니다.
    terminal
    $ python -m django --version
    >>>1.10.2
    

    항목 만들기


    Django는 프로젝트를 만드는 데 사용할 명령을 준비했습니다.
    이번에는 mysite라는 튜토리얼과 같은 프로젝트를 만들 것입니다.
    terminal
    $ django-admin startproject mysite
    

    Django 프로젝트 개념


    프로젝트는 데이터베이스 설정, Django 특정 옵션, 응용 프로그램 특정 설정 등 하나의 Django 실례 설정을 집합한 프로젝트입니다.

    startproject에서 만든 파일


    startproject를 실행할 때 다음 디렉터리를 만듭니다.
    mysite/
        manage.py
        mysite/
            __init__.py
            settings.py
            urls.py
            wsgi.py
    

    외부 mysite


    외부 mysite/루트 디렉터리는 이 프로젝트의 용기입니다.이 이름은 Django와 무관하기 때문에 좋아하는 이름으로 바꿀 수 있습니다.

    manage.py


    Django 프로젝트에 대한 다양한 작업을 수행하는 명령줄 유틸리티

    내부 mysite 디렉터리


    이 프로젝트의 진정한 파이썬 패키지.이 이름은 Python 패키지의 이름입니다. import에서 사용하는 이름입니다. (예를 들어 import mysite.urls)

    mysite/init.py


    이 디렉터리가 파이썬 패키지라는 것을 파이썬이 알 수 있도록 빈 파일입니다.

    mysite/settings.py


    Django 프로젝트의 URL 설명, 즉 Django 웹 사이트의'디렉터리'에 해당합니다.

    mysite/wsgi.py


    WSGI와 호환되는 웹 서버의 입구점으로 서비스 항목에 사용됩니다.
    실제 각 서류를 수정할 때, 나는 다시 한 번 상세하게 설명하고 싶다.

    개발 서버


    Django는 간단한 웹 서버를 미리 준비했습니다.
    다음 명령을 통해 개발용 서버를 시작할 수 있습니다.
    terminal
    $ python manage.py runserver
    >>>
    Performing system checks...
    
    System check identified no issues (0 silenced).
    
    You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
    Run 'python manage.py migrate' to apply them.
    
    October 10, 2016 - 16:28:45
    Django version 1.10.2, using settings 'mysite.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.
    
    마이그레이션 관련 토출 오류로 인해 현재 상태 무시 OK.
    실제로 브라우저에서 확인합니다.
    localhost: 8000번 조회는 다음과 같습니다.

    It worked!에서 기술한 장면은 다음과 같은 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 부피를 분석하도록 한다.
    (현재는 영어로 일본어로 바꿀 수 있습니다.)
    (포트 번호를 변경할 수도 있습니다.)

    응용 프로그램 만들기


    이번에는 튜토리얼에 따라 투표 앱을 만들고 싶습니다.

    프로젝트와 응용 프로그램의 차이


    한 항목에 여러 개의 응용 프로그램을 포함할 수 있습니다.또한 하나의 응용 프로그램은 여러 항목에서 사용할 수 있다.

    프로젝트 이름


    프로젝트는 특정 사이트를 위해'설정'과'응용 프로그램'을 수집하는 프로젝트입니다.

    응용 프로그램


    응용 프로그램은 실제 일부 작업을 수행하는 웹 응용 프로그램을 가리킨다.기능 표현 가능
    예를 들어 블로그 시스템과 공개 기록 데이터베이스, 단순 투표 응용 프로그램 등이다.

    응용 프로그램 만들기 명령


    다음 명령을 사용하여 새 응용 프로그램을 만들 수 있습니다.
    이번에는 투표 (poll) 프로그램을 만들 것입니다.
    $ python manage.py startapp polls
    

    뷰 작성


    모든 응용 프로그램에 대한views를 만듭니다.py에서 보기를 만듭니다.
    이번에는 리퀘스트를 받아response로 돌아가는 간단한 보기를 만듭니다.
    mysite/poll/views.py
    from django.shortcuts import render
    from django.http import HttpResponse
    
    
    def index(request):
        return HttpResponse('Hello World from Polls')
    

    연결 URL


    polls의 URLconf 만들기


    뷰를 호출하려면 URL과 연관되어야 합니다.
    URLconf가 필요합니다.
    polls 디렉터리에 URLconf를 만들기 위해 urls.py라는 파일을 만듭니다.

    polls를 루트의 URL에 대응


    다음은 루트의 URLconf에 polls.urls 모듈에 대한 설명입니다.
    루트의 URLconf는 다음과 같이 수정됩니다.
    mysite/mysite/urls.py
    from django.conf.urls import url, include
    from django.contrib import admin
    
    urlpatterns = [
        url(r'^polls/', include('polls.urls'))
        url(r'^admin/', admin.site.urls),
    ]
    

    라우팅을 제어할 수 있는지 여부를 결정합니다.


    실제로, 로컬hsot/polls를 통해 접근할 수 있는지 서버를 시작합니다.

    위에 문자가 표시되면 라우팅이 성공됩니다.

    url 함수


    url () 함수는 네 개의 매개 변수를 받아들인다. 그 중 두 개는 필수적이다.
    regex와view,kwargs와name로 선택할 수 있습니다.여기서 파라미터가 무엇 때문인지 봅시다.

    매개 변수


    regex(regular expression)
    첫 번째 매개변수에서 정규 표현식으로 URL 모드를 지정합니다.
    이 매개변수는 필수입니다.
    view
    Django가 일치하는 정규 표현식을 찾으면 Django는 지정된 뷰 함수를 호출합니다.이때 HttpRequest 객체를 첫 번째 매개변수로 호출하고'포획'값을 정규 표현식에서 다른 매개변수로 호출합니다.
    이 매개변수는 필수입니다.
    kwards
    키워드 매개변수를 대상 뷰에 사전으로 전달할 수 있습니다.튜토리얼에서 이 기능을 사용하지 않습니다.
    이 매개변수는 선택 사항입니다.
    name
    URL의 이름을 지정하면 Django 어디에서나 참조할 수 있습니다. 특히 템플릿에서 유효합니다.이 편리한 기능은 프로젝트 URL을 전체적으로 변경할 때 파일 하나만 변경할 수 있습니다.

    총결산


    튜토리얼의 첫 장은 여기까지입니다.
    개발 환경 구축, 프로젝트 및 응용 프로그램 만들기
    나는 간단한 보기의 표시와 URLconf의 설정을 보았다.
    다음에는 DB와 협력하여 더 복잡한 템플릿으로 보기를 표시하고 싶습니다.

    시리즈

  • 장고를 시작하자!튜토리얼①~
  • 장고를 시작하자!튜토리얼 ②~
  • 장고를 시작하자!튜토리얼 ③~
  • 장고를 시작하자!자습서 ④ ~
  • 장고를 시작하자!튜토리얼⑤~
  • 장고를 시작하자!튜토리얼 ⑥ ~
  • 좋은 웹페이지 즐겨찾기