<aside> 💡 #django #web #application #server #model #view #template #form

</aside>

7.1 Django란?

Django는 HTTP 요청에 동적으로 HTML 문서를 만들어 응답하는 웹 애플리케이션입니다. 프레임워크이기 때문에 대부분 기본적인 세팅을 지원하여 빠른 프로토타이핑이 가능합니다.

7.2 개발 패턴

7.3 프로젝트 구성

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9a5941c1-36c4-49ba-9017-c3ec894e20c3/image41.png

하나의 프로젝트는 여러 App들로 구성됩니다. App별로 model, view, url로 구성됩니다.

7.4 Routing

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/8d57c857-b898-4bd6-9b44-bd24d73d6988/image20.png

  1. 웹에서 온 요청은 처음 MainAppurls.py로 들어옵니다.
  2. urls.pyurlpatterns을 통해 요청에 맞는 패턴의 App의 urls.py로 전달합니다.
  3. App의 urls.pyurlpatterns을 통해 요청을 처리할 로직으로 전달합니다.
  4. views.py에서 로직을 통해 요청을 처리하고 웹에 응답을 보냅니다. 처리하는 과정에서 models.py를 통해 DB와 데이터를 주고받습니다.
# settings.py ROOT_URLCONF를 통해 먼저 요청을 처리할 MainApp설정 가능
ROOT_URLCONF = "core.urls"

7.5 예시

from django.contrib
import admin from django.urls
import path, include

urlpatterns = [
	path("admin/", admin.site.urls),
	path("users/", include("users.urls")),
	path("products/", include("products.urls")),
]