%20%E1%84%91%E1%85%A2%E1%84%90%E1%85%A5%E1%86%AB_%E1%84%8A%E1%85%A5%E1%86%B7%E1%84%82%E1%85%A6%E1%84%8B%E1%85%B5%E1%86%AF.png)

클라이언트로 부터 요청을 받으면 URLconf를 이용하여 URL 을 분석
URL 분석 결과를 통해 해당 URL 에 대한 처리를 담당할 View 를 결정
View 는 자신의 로직을 실행 하면서 만일 데이터 베이스 처리가 필요하면 해당 모델에 요청하고 그 결과를 반환받음
View 는 자신의 로직 처리가 끝나면 Template 을 사용하여 클라이언트에 전송할 HTML 파일을 생성
View 는 최종 결과로 HTML 파일을 클라이언트에 보내어 응답
[Models.py](http://models.py) 에서 모델 클래스를 정의from django.db import models
class Person(models, Model):
		first_name = models.CharField(max_length=30)
		last_name = models.CharField(max_length=30)
		class Meta:
        db_table = 'myapp_person'
CREATE TABLE myapp_person (
		'id' serial NOT NULL PRIMARY KEY,
		'first_name' varchar(30) NOT NULL,
		'last_name' varchar(30) NOT NULL
);
테이블명은 어플리케이션명과 모델 클래스명은 밑줄(_)로 연결하고, 모두 소문자로 표시
(회사의 모델일 정책에 따라 다를 수 있음)
Primary Key는 Person 클래스에서 정의하지 않아도 Django에서 자동으로 부여
별도의 Primary Key를 지정할 수 있음
[urls.py](http://urls.py) 파일에 정의된 URL 패턴과 매칭되는지 분석View를 호출from django.urls import path
from . import views
urlpatterns = [
		path('articles/2003/', views.special_case_2003),
		path('articles/<int:year>/', views.year_archive),
		path('articles/<int:year>/<int:month>', views.month_archive),
		path('articles/<int:year>/<int:month>/<slug:slug>', views.archive_detail),
]
[setting.py](http://setting.py) 파일의 ROOT_URLCONF 항목을 읽어 최상위 URLconf(urls.py)의 위치를 확인urlpatterns 변수에 지정되어 있는 URL 리스틀 검사view 를 호출. 여기서 view는 함수 또는 클래스의 메소드view 인자로 넘겨준다view 를 호출urlpatterns 변수에서 / 부분을 가르킴<type:name> 형식/ (슬래시)를 제외한 모든 문자열과 매치. 타입이 지정되지 않았다면 디폴트로 str 타입으로 사용/ (슬래시)를 제외한 모든 문자열과 매치. URL 패턴의 일부가 아니라 전체를 추출하고자 할 때 많이 사용view 에서 정규표현식으로 URL 패턴 로직을 구현할 수 있다[views.py](http://views.py) 에서 함수 또는 클래스의 메소드로 정의from django.http import HttpResponse
import datetime
def current_datetime(request):
		now = datetime.datetiem.now()
		html = '<html><body>It is now %s.</body></html>' % now
		
		return HttpResponse(html)
settings.py의 TEMPLATES 및 INSTALLED_APPS 에서 지정된 앱의 디렉토리에에서 *.html 파일을 찾음*.html Django의 template 시스템 문법에 맞게 작성models.py, admin.py파일)urls.py 파일)*.html 파일)views.py 파일)