Django 앱 시작하기(2). -View

HOKlNG·2021년 7월 23일
0

지난 시간에 settings에 app을 설정하고
URL을 어떻게 프로젝트 urls.py에서 받아서 앱 url.py로 전달하는지 알아보았다.
마지막에는 view를 하나 만들어서 해당 url에 연결하고
간단하게 Httpresponse로 처음에 나타난 기본 페이지 이외의 페이지를 렌더링 하였다.

오늘은 view에 대한 간단한 설명으로 시작해서
html로 간단한 페이지를 만들어 내용을 추가하고 렌더링 해보겠다.

view.py 의 기능 (작동원리)

urls.py에서 엔드 포인트마다 view를 연결한다.
간단한 설명을 위해서 지난 내용을 잠깐 설정해서 설명하면...
도메인을 다음으로 가정하고. - www.hoklng.com
www.hoklng.com/main 이 호출을 받으면...

  1. 프로젝트 urls.py에서 해당 엔드포인트가 어딘지 확인한다.
  2. 확인해보니 'main/' -> app_main.url 에 할당한다.
  3. app_main.urls.py를 보면 다음과 같이 코드가 적혀있다.
from .views import index

urlpatterns = [
    path('', index, name='main'),

]
  1. 호출받은 url은 index라는 함수(view)를 호출한다.
  2. 호출받은 view의 코드가 실행된다. -> Httpresponse
  from django.shortcuts import render, redirect, HttpResponse

  # Create your views here.
  def index(request):
      return HttpResponse('처음으로 연결한 app')

[결과]

다음과 같이 동작이 된다.

정리하면 요청받은 url에 연결된 view가 실행되고 해당 코드가 실행된다.

처음에 Django를 배우면 MTV패턴이니 뭐니 하면서 처음 듣는 사람의 장벽을 더욱 쌓아주는 느낌을 받았는데. 그런건 나중에 하면서 알아서 익혀지는 것이고.

직관적으로 브라우저에 url을 입력 -> 해당 url에 view실행 -> 코드 동작 -> 결과 return 라고 생각하면 된다.

MTV를 짚고 넘어가면... model template view 의 약자인데.
model : DB
template : html
view: 방금 설명한 view
view가 동작할때 model에서 데이터를 가져와서 html에 담아 결과를 제공하는 것에서 MTV패턴이라고 한다. 나중에 하다보면 자연스럽게 알 것이다.

오늘은 view에 대한 간단한 설명으로 시작해서
html로 간단한 페이지를 만들어 내용을 추가하고 렌더링 해보겠다. 라고 했지만...
그냥 view까지만 설명하고 html 렌더링은 다음 시간에 이어서 하겠다!

0개의 댓글