[Django] Tutorial - View & URL
View란?
앱의 로직을 담당하는 파일로 모델에서 필요한 정보를 받아와 템플릿에 전달하는 역할을 한다.
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의 줄임말로 자료를 주고 받을때 많이 쓰이는 데이터 타입 형식이다.
URL
- app/urls.py
from django.urls import path # 장고에서 Url 경로를 처리하기 위한 모듈
from main.views import MainView # Views.py의 MainView 클래스를 임포트
urlpatterns = [
path('', MainView.as_view()) # 이 URL 패턴은 빈 문자열에 매칭
]
- View를 호출하려면 View와 연결된 URL이 있어야 하고(이를 위해 URLconf가 사용되고 URLconf를 생성하려면) 앱 디렉토리에서
urls.py
를 생성해야 한다.
👉 즉, View에 맞는 각각의 url이 있어야 하고 그 url은 앱 디렉토리의 urls.py에서 만든다. .as_view()
는 http 메소드를 판별하여(GET, POST, ...) 그에 맞는 함수를 실행시켜주는 메소드이다.
- project/urls.py
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
필수인수
URL 패턴을 포함하는 문자열로 요청을 처리할 때 장고는 urlpatterns의 첫번째 패턴부터 시작하여 일치하는 패턴을 찾을 때 까지 요청된 URL을 각 패턴과 비교한다.view
필수인수
일치하는 패턴을 찾으면 HttpRequest 객체를 첫번째 인수로 사용하고 경로에서 가져온 값을 키워드 인수로 사용하여 지정된 View를 호출한다.kwargs
임의의 키워드 인수들은 목표한 View에 딕셔너리로 전달된다.name
URL의 이름을 지정하면 템플릿을 포함한 장고 어디에서나 명확하게 참조 할 수 있고 이 기능을 이용하여 하나의 파일만 수정해도 프로젝트 내의 모든 URL 패턴을 바꿀 수 있다.
Author And Source
이 문제에 관하여([Django] Tutorial - View & URL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ggg9_/Django-Tutorial-View-URL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)