Django는 웹 개발을 위해 MTV(Model-Template-View) 패턴을 따릅니다. 다음은 각 구성 요소에 대한 분석입니다.
모델: 데이터 구조를 정의하고 데이터베이스와의 상호 작용을 처리하므로 SQL 쿼리를 수동으로 작성하지 않고도 데이터를 저장하고 검색할 수 있습니다.
템플릿: HTML을 렌더링하고 사용자에게 데이터를 표시하는 역할을 담당합니다. DTL(Django 템플릿 언어)과 혼합된 HTML을 작성하여 동적 콘텐츠를 표시합니다.
뷰: 비즈니스 로직 레이어 역할을 합니다. 모델과 템플릿을 연결하고, 사용자 요청을 처리하고, 모델과 상호 작용하고, 응답을 반환합니다(종종 템플릿에서 렌더링된 HTML).
Django의 요청-응답 주기 작동 방식:
1단계: Django에서 새 앱 만들기.
이전 기사에서 다룬 대로 Django를 설정한 후 프로젝트에 새 앱을 만들어 보겠습니다.
다음 명령을 실행하세요.
cd mysite python3 manage.py startapp core
이렇게 하면 mysite 프로젝트 내에 core라는 앱이 생성됩니다. 이제 파일 구조는 다음과 같습니다.
. ├── core │ ├── admin.py │ ├── apps.py │ ├── __init__.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ └── views.py ├── db.sqlite3 ├── manage.py └── mysite ├── asgi.py ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py
2단계: 설정 파일에 앱 등록.
Django가 새 앱을 인식하게 하려면 mysite/settings.py의 INSTALLED_APPS에 해당 앱을 추가해야 합니다.
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'core', # add this line ]
3단계: 기본 보기 만들기.
"Hello, World!"를 반환하는 간단한 뷰를 만들어 보겠습니다. 메시지.
핵심 앱 내에서 views.py를 열고 다음 코드를 추가하세요.
from django.http import HttpResponse def learn(request): return HttpResponse("Hello, World!")
4단계: 뷰에 URL 매핑.
URL을 통해 이 보기에 액세스하려면 core/urls.py 파일에 매핑해야 합니다. 파일이 없으면 만들고 다음을 추가하세요.
from django.urls import path from . import views urlpatterns = [ path('learn/', views.learn, name='learn'), ]
다음으로 기본 mysite/urls.py 파일에 핵심 앱의 URL을 포함합니다.
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('core/', include('core.urls')), # include the core app URLs ]
이제 서버를 실행하고 http://127.0.0.1:8000/core/learn/에 접속하면 "Hello, World!"가 보일 것입니다. 표시됩니다.
5단계: 템플릿 생성 및 렌더링
from django.shortcuts import render def learn(request): context = {'name': 'Django'} return render(request, 'hello.html', context)
이제 이 보기는 hello.html이라는 템플릿에 변수(이름)를 전달합니다.
6단계: 템플릿 디렉토리 및 HTML 파일 생성.
핵심 앱에서 템플릿 폴더와 hello.html 파일을 만듭니다.
mkdir core/templates touch core/templates/hello.html
hello.html 안에 다음 HTML 코드를 추가하세요
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Hello Template</title> </head> <body> <h1>Hello, {{ name }}!</h1> </body> </html>
학습 URL을 다시 방문하면 이제 "Hello, Django!"가 표시됩니다. 브라우저에서.
7단계: 기본 모델 생성.
블로그 게시물을 저장하기 위한 간단한 Post 모델을 만들어 보겠습니다.
core/models.py에 다음 코드를 추가하세요.
cd mysite python3 manage.py startapp core
이 Postmodel에는 제목과 내용이라는 두 가지 필드가 있습니다. __str__ 메소드는 Post 객체가 Django 관리자 또는 셸에서 제목과 함께 표시되도록 합니다
8단계: 데이터베이스에 모델 적용.
데이터베이스에 해당 테이블을 생성하려면 다음 명령을 실행하세요.
. ├── core │ ├── admin.py │ ├── apps.py │ ├── __init__.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ └── views.py ├── db.sqlite3 ├── manage.py └── mysite ├── asgi.py ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py
이제 Django는 Post 모델을 위한 데이터베이스 테이블을 생성합니다.
이러한 단계를 수행하면 모델, 뷰 및 템플릿이 포함된 기본 Django 앱이 성공적으로 생성되었습니다. 이제 사용자 입력 처리, 디자인 개선, 앱의 대화형화 등 더 많은 기능을 추가하여 이 기반을 확장할 수 있습니다.
위 내용은 Django의 아키텍처 이해: MTV 패턴.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!