- 유저가 가게에 접속한다. -> 유저가 url로 접속한다.
- 유저는 주문 받는 직원(URLconf)에게 request를 보낸다. -> URL 설정(URLconf)는 요청자가 브라우저의 주소 표시줄로 전달한 URL로부터 어떤 페이지를 요청했는지 구분해준다.
- 주문을 처리하는 직원(View)은 음식을 만들어 응답을 되돌려준다.
- 만들어진 음식을 유저가 가져간다 -> 브라우저가 응답(Response)를 화면에 표시한다.
Model
Model은 메뉴를 만들기 위한 재료들을 저장하는 창고다. 엑셀의 시트, 데이터베이스의 테이블이다.
Model은 파이썬의 class 형태이며, 장고와 DB를 연결시키는 코드이자 데이터의 형태다. 일반적으로, 1개의 모델은 DB의 1개의 테이블과 매핑된다.
django.db.models.Model 클래스를 상속받는다. 예를 들면 다음과 같다:
class DjangoModel(models.Model):
name = models.CharField("이름")
Template
템플릿(Template)은 HTML 파일이다. 보통 templates/ 디렉토리 내에 HTML 파일을 사용한다.
View
주문 받는 직원이다.
View는 파이썬의 함수 형태이며, request를 받아 처리한다. 파일명은 기본값으로 views.py를 사용한다.
from django.http import HttpResponse
def main(request):
return HttpResponse("안녕하세요, pyburger 햄버거집입니다.")
url과 view를 연결
주문을 받는 직원 URLconf는 config/urls.py에 다음과 같이 구현한다.
from django.contrib import admin
from django.urls import path
from config.views import main # views.py에 작성한 main함수를 가져온다
urlpatterns = [
path('admin/', admin.site.urls),
path("", main), # ""(공백)인 경로와 views/main 함수를 연결
]
이렇게 하면 localhost:8000 기본주소로 들어가면 “안녕하세요, pyburger 햄버거집입니다.” 문자열을 볼 수 있다!