View란?
앱의 로직을 담당하는 파일로 모델에서 필요한 정보를 받아와 템플릿에 전달하는 역할을 한다.
import json # Json 데이터를 처리하기 위해 임포트
from django.views import View # 장고에 내장된 View 클래스
from django.http import JsonResponse # 서버 요청에 대한 응답을 Json으로 하기 위해
# 클래스형 View
class MainView(View): # 장고에 내장된 View 클래스 상속
def get(self, request): # View 클래스에 내장된 메소드
return JsonResponse({"Hello":"World"}, status=200)
?
JSON
JavaScript Object Notation의 줄임말로 자료를 주고 받을때 많이 쓰이는 데이터 타입 형식이다.
from django.urls import path # 장고에서 Url 경로를 처리하기 위한 모듈
from main.views import MainView # Views.py의 MainView 클래스를 임포트
urlpatterns = [
path('', MainView.as_view()) # 이 URL 패턴은 빈 문자열에 매칭
]
urls.py
를 생성해야 한다..as_view()
는 http 메소드를 판별하여(GET, POST, ...) 그에 맞는 함수를 실행시켜주는 메소드이다.from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')), # polls라는 앱의 URLconf 참조
path('admin/', admin.site.urls),
]
include()
다른 URLconf들을 참조할 수 있도록 도와준다.path()
route
필수인수
view
필수인수
kwargs
임의의 키워드 인수들은 목표한 View에 딕셔너리로 전달된다.name
URL의 이름을 지정하면 템플릿을 포함한 장고 어디에서나 명확하게 참조 할 수 있고 이 기능을 이용하여 하나의 파일만 수정해도 프로젝트 내의 모든 URL 패턴을 바꿀 수 있다.