데이터 관리
데이터베이스와 연결 및 실행
models.py
데이터 출력
사용자에게 표현 방식 정의
html 파일
역할
웹 요청을 수신하고 응답하는 파이썬 함수 또는 클래스. 컨트롤러, 비즈니스 로직을 처리
views.py 형태로 django 내에 존재함.
Views를 반드는 방법에는 2가지 방법이 있습니다. FBV(Fuction Based View)와 CBV
FBV(Function Based View)
장점
- 구현이 간편함
- 읽기 쉽고 직관적인 코드
- 데코레이터의 간단한 사용법
단점
- 코드 확장과 재사용이 어려움
-> Framework 단에서 함수 만으로는 확장과 재사용이 어렵다.
- 조건부 분기를 통한 HTTP 메서드 처리
->
사용처
- 일화성, 특수 목적이 있는 곳에 FBV가 적합
CBV(Class Based View)
장점
- 코드 확장과 재사용 용이
- 다중 상속, Mixin 가능
- 내장 Class Based View 사용
-> ListView, CreateView, DetailView
단점
- 읽기 어려우며 복잡도가 높음
- 데코레이터 사용 시 함수를 재정의 해야 함
사용처
- 일반적인 생성, 조회, 수정 삭제 등의 View에 적합
무엇을 사용할까?
상황에 따라 더 나은 것을 사용한다.



[1] 브라우저에서 로컬 서버로 http://localhost:8000/home 페이지를 요청하면
[2] urls.py 파일에서 /pybo URL 매핑을 확인하여 views.py 파일의 index 함수를 호출하고
[3] 호출한 결과를 브라우저에 반영한다.
config/urls.py 파일을 다음처럼 수정하자.
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path("admin/", admin.site.urls),
path("home/", include('home.urls')),
]
이제 home/urls.py 파일을 생성
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path("", views.index),
]

