인트로
파이썬으로 /index URL을 입력하면 간단한 뷰를 띄우는 것을 포스팅합니다.
장고의 뷰(View)는 웹애플리케이션이 동작하기 위한 로직을 담당하는데요.
아래에서 자세히 살펴보도록 하시죠.
목차
1. django URL 매핑 확인하기
2. django View 만들기
| 1. django URL 매핑 확인하기 |
먼저 장고에서 View를 생성하기 전에 URL 매핑이 잘 정의되어 있는 지 확인해 주세요 :)
* URL 매핑이 되어 있지 않으면, 주소 창에 index를 입력해도 정의한 뷰 함수가 실행되지 않습니다.
urls.py
from django.urls import path app_name = 'blog' urlpatterns = [ path('', views.index), ]
| 2. django View 만들기 |
1) View 란 무엇인가?
장고의 뷰(View)는 웹애플리케이션의 "로직" 부분을 담당하여 동작합니다.
즉, 내 애플리케이션을 동작하게 하기 위해 CRUD(Create/Read/Update/Delete) 등 함수를 구현하는 곳입니다!
또한, django 는 MVT(Model-View-Template) 패턴에 기반하여 동작하는데요.
View는 유명한 패턴 중의 하나인 MVC 패턴의 Controller 역할을 수행한다고 보시면 됩니다 :)
2) HTTP Response
View 함수들은 HttpResponse 또는 Http404같은 에러들을 리턴할 수 있는데요. 아래와 같은 형식으로 사용합니다.
+) 잠깐 HTTP Request/Response에 대해 설명드리면,
HTTP Request는 클라이언트단에서 서버가 특정 동작을 취하게끔 만들기 위해 전송하는 메시지입니다.
HTTP Response 는 서버가 클라이언트에게 특정 동작에 대한 결과를 리턴하는 메시지입니다. (직무 면접때 물어봤던 경험)
def index(request): return HttpResponse(template.render(context, request))
장고는 return HttpResponse 등의 표현을 쉽게 쓸 수 있도록 render 함수를 제공하는데요.
일일히 HttpResponse 를 정의하지 않고도 쉽게 HttpResponse 에 응답할 수 있습니다.
def index(request): return render(request, 'blog/index.html', context)
3) View 정의하기
이제 view.py 에 index 함수를 정의해주도록 하죠. 다음과 같이 render 만 import 하여 편리하게 구현할 수 있습니다.
from django.shortcuts import render # Create your views here. def index(request): return render(request, "index.html")
[관련 게시글]
[django] 웹 페이지 만들기 (1) 장고 설치하고 서버 구축하기
[django] 웹 페이지 만들기 (2) 프로젝트와 앱 생성하기
[django] 웹페이지 만들기 (3) - 뷰 생성하기
'BE > Django' 카테고리의 다른 글
| [django] REST API GET/POST 구현 (2) | 2021.07.12 |
|---|---|
| [django] swagger로 REST API 문서 만들기 (1) | 2021.07.11 |
| [django] 어드민 계정 생성 및 비밀번호 초기화 (0) | 2021.06.29 |
| [django] 웹 페이지 만들기 (2) 프로젝트와 앱 생성하기 (0) | 2021.06.26 |
| [django] 웹 페이지 만들기 (1) 장고 설치하고 서버 구축하기 (0) | 2020.12.30 |