Django 웹 프레임워크(Python)

Django은 매우 유행하고 기능이 완비된 서버 사이드 웹 프레임워크로 파이톤으로 작성되었다.

Django 설치


Django를 사용하기 전에 먼저 설치해야 합니다.파이썬 버전과 Django 버전을 함께 사용해야 하는 것에 대한 더 많은 정보는 here을 방문하십시오

최신 개발 버전 가져오기


최신이자 최고의 Django 버전은 Git 저장소의 버전입니다. 다음과 같이 시작하겠습니다.git clone https://github.com/django/django.git

파이썬 설치


Mac OS X here의 최신 버전 다운로드

Django 코드는 어떤 모양입니까?


웹 응용 프로그램은 웹 브라우저(또는 다른 클라이언트)로부터의 HTTP 요청을 기다리고 있으며, 요청을 받으면 URL과 POST/GET 데이터의 정보에 따라 필요한 내용을 계산합니다.필요에 따라 데이터베이스에서 정보를 읽거나 쓰거나 요청을 충족시키는 데 필요한 다른 작업을 수행할 수 있다.그런 다음 응용 프로그램은 HTML 템플릿의 자리 표시자에 읽어들인 데이터를 삽입하여 브라우저에 표시할 HTML 페이지를 동적으로 만들어 웹 브라우저에 응답을 반환합니다.
일반적으로 Django 웹 응용 프로그램은 이러한 단계를 처리하는 코드를 별도의 파일로 그룹화합니다.

URL: 각 URL의 요청을 단일 함수로 처리할 수 있지만, 각각의 자원을 관리하기 위한 별도의 보기 함수를 작성합니다.URL 맵은 HTTP 요청을 요청된 URL에 따라 적절한 뷰로 리디렉션하는 데 사용됩니다.또한 URL 맵은 URL에 나타나는 문자열이나 숫자의 특정 패턴을 일치시켜 뷰 함수에 데이터로 전달할 수 있습니다.
보기:보기는 HTTP 요청을 받고 HTTP 응답을 반환하는 요청 처리 함수입니다.보기는 모델을 통해 요청을 충족시키는 데 필요한 데이터에 접근하고 응답 형식을 템플릿에 의뢰합니다.
모델: 모델은 응용 프로그램 데이터 구조의 Python 대상을 정의하고 관리(추가, 수정, 삭제)와 데이터베이스에 기록된 조회를 제공하는 메커니즘이다.
템플릿:템플릿은 HTML 페이지와 같은 파일의 구조나 레이아웃을 정의하는 텍스트 파일로, 이 텍스트 파일은 실제 내용을 나타내는 데 사용됩니다.보기는 HTML 템플릿을 사용하여 동적으로 HTML 페이지를 만들고 모델의 데이터로 페이지를 채울 수 있습니다.템플릿은 모든 유형의 파일의 구조를 정의하는 데 사용할 수 있습니다.HTML이 아니어도 됩니다!

요청을 올바른 보기로 보내기 (url.py)


URL 맵은 URL이라는 파일에 저장됩니다.피야.맵(URL 모드)은 라우트(특정 URL 모드)와 해당 뷰 함수 간의 맵 목록을 정의합니다.HTTP 요청이 지정된 모드와 일치하는 URL을 가지고 있으면 관련view 함수를 호출하여 요청을 전달합니다.
urlpatterns = [
    path('admin/', admin.site.urls),
    path('book/<int:id>/', views.book_detail, name='book_detail'),
    path('catalog/', include('catalog.urls')),
    re_path(r'^([0-9]+)/$', views.best),
]
urlpatterns 대상은 path()과/또는 re_path() 함수를 포함하는 목록이다(Python 목록은 네모난 괄호로 정의되고 항목은 쉼표로 구분되며 선택할 수 있는 꼬리 쉼표가 있을 수 있다).
이 두 가지 방법의 첫 번째 매개 변수는 일치하는 루트 (모드) 이다.path() 방법은 URL의 일부분을 뾰족괄호로 정의하는데, 이 부분은 포획되어 이름의 매개 변수로view 함수에 전달됩니다.re_path() 함수는 정규 표현식이라고 불리는 유연한 패턴 일치 방법을 사용한다.우리는 뒤의 문장에서 이런 것들을 토론할 것이다.
두 번째 매개 변수는 패턴이 일치할 때 호출되는 또 다른 함수입니다.기호 views.book_detail은 함수 이름이 book_detail()이며,views라는 모듈에서 찾을 수 있습니다.

처리 요청(views.py)


보기는 웹 응용 프로그램의 핵심으로 웹 클라이언트로부터 HTTP 요청을 받고 HTTP 응답을 되돌려줍니다.
이전 섹션에서 URL 매핑에 의해 호출될 수 있는 뷰 함수 index()을 보여 드리겠습니다.모든 보기 함수와 마찬가지로, 이것은 HttpRequest 대상을 매개 변수로 (request)을 수신하고, HttpResponse 대상을 되돌려줍니다.이 예에서, 우리는 어떤 조작도 요청하지 않고, 우리의 응답은 하드코딩 문자열로 되돌아옵니다.
# filename: views.py (Django view functions)

from django.http import HttpResponse

def index(request):
    # Get an HttpRequest - the request parameter
    # perform operations using information from the request.
    # Return HttpResponse
    return HttpResponse('Hello from Django!')
뷰는 일반적으로 뷰라는 파일에 저장됩니다.피야.

주요 특징


거의 모든 웹 응용 프로그램에서 사용되는 주요 기능인 URL 맵, 보기, 모델, 템플릿을 보여 줍니다.Django는 다음과 같은 서비스도 제공합니다.
양식: 서버에서 처리할 수 있도록 HTML 양식은 사용자 데이터를 수집하는 데 사용되며, Django는 양식의 작성, 검증 및 처리를 단순화합니다.
사용자 인증과 권한: Django는 건장한 사용자 인증과 권한 시스템을 포함하고 이 시스템은 안전 고려를 바탕으로 구축된 것이다.
캐시: 동적 생성 내용은 정적 내용을 제공하는 것보다 계산량이 훨씬 크고 속도가 느리다.Django는 유연한 캐시를 제공하기 때문에 필요할 때 페이지를 다시 보여주지 않도록 페이지의 전체 또는 일부를 저장할 수 있습니다.
사이트 관리: 기본 프레임워크를 사용하여 응용 프로그램을 만들 때 기본적으로 Django 관리 사이트를 포함합니다.이것은 사이트 관리자가 사이트의 모든 데이터 모델을 만들고 편집하며 볼 수 있도록 관리 페이지를 제공합니다.
시리얼화된 데이터: Django는 쉽게 시리얼화된 데이터를 XML 또는 JSON으로 제공할 수 있습니다.이것은 웹 서비스(순수하게 다른 응용 프로그램이나 사이트에 사용되는 데이터로 서비스를 제공하는 사이트로 그 자체가 어떤 내용도 표시하지 않음)를 만들거나 클라이언트 코드로 모든 데이터를 처리하는 사이트를 만들 때 매우 유용하다.

프로젝트 만들기


프로젝트를 만들려면 터미널에서 다음 명령을 실행합니다.django-admin startproject mysite현재 디렉토리에 mysite 디렉토리를 생성합니다.프로젝트를 만든 후 cd 명령을 사용하여 해당 디렉토리로 이동합니다.cd mysitestartproject에 대해 살펴보겠습니다.
mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
이러한 파일은 다음과 같습니다.
외부 mysite/root 디렉토리는 항목의 컨테이너입니다.그것의 이름은 Django에게 중요하지 않습니다. 당신이 좋아하는 이름으로 이름을 바꿀 수 있습니다.
관리py: 이 Django 프로젝트와 다양한 방식으로 상호작용할 수 있는 명령줄 유틸리티입니다.관리에 대한 모든 세부 정보를 읽을 수 있습니다.django admin 및 manage의 py입니다.피야.
내부 mysite/디렉터리는 프로젝트의 실제 Python 패키지입니다.그것의 이름은 그 중 어떤 내용 (예: mysite.url) 을 가져오는 데 필요한 Python 패키지 이름입니다.
mysite/init.py: 이 디렉터리가 Python 패키지로 간주되어야 한다는 빈 파일을 알려 줍니다.파이썬 초보자라면 공식 파이썬 문서에서 가방에 대한 더 많은 정보를 보십시오.
mysite/settings.py: 이 Django 프로젝트의 설정/구성Django 설정은 모든 설정의 작동 방법을 알려줍니다.
mysite/url.py: 이 Django 프로젝트의 URL 선언Django 웹 사이트의 카탈로그
mysite/asgi.py: ASGI와 호환되는 웹 서버가 프로젝트에 서비스를 제공하는 입구점입니다.
mysite/wsgi.py: WSGI와 호환되는 웹 서버가 프로젝트에 서비스를 제공하는 입구점입니다.
서버를 시작하려면 다음 명령을 실행합니다.python manage.py runserverhttp://127.0.0.1:8000/에 액세스하면 서버가 실제로 실행 중임을 확인할 수 있습니다.)
저에게 연락하려면 제 Github을 보십시오. 또는.
읽어주셔서 감사합니다!

좋은 웹페이지 즐겨찾기