Django #2 - Architecture / request, response

김엣취·2024년 8월 14일

Django

목록 보기
3/17

HTML을 웹브라우저로 예쁘게 보여주는걸 렌더링(rendering)이라고 함

장고의 아키텍처

MTV패턴은 MVC패턴의 변형이다.

M: Model (Data 다룸)
T: Template (HTML같이 화면쪽)
V: View (위의 두 개를 관리해주는 역할 + @)

M: Model
V: =Template
C: =View

요청과 응답하는법

urls.py에서..

urlpatterns에서 "index/"으로 들어오면, views폴더의 index함수로 가라.

# my_first_pjt/my_first_pjt/urls.py

from django.contrib import admin
from django.urls import path
from articles import views

urlpatterns = [
    path("admin/", admin.site.urls),
    path("index/", views.index),
]

+'index'와 'index/'중 장고는 후자를 권장함

views.py

뷰는 두가지가 있음.

  1. 함수형
  2. 클래스형

장고에서는 함수형 뷰를 권장.
이유는 흐름이 한번에 보이니까.

괄호 안에 request는.. 장고가 알아서 request요청을 보내줌.

# 테스트
from django.http import HttpResponse

def index(request):
	response = HttpResponse("<h1>Hello, Django!</h1>") 
	return response

HttpResponse와 같은 것들은.. 알아서 찾아봐야함..
공식문서

index.html파일에 저거 넣으면 똑같이 됨.

def index(request):
	return render(request, "index.html")

render함수는 HttpResponse를 사용해서 파일을 보여줌

여러 파일에 감싸져있는데 어케찾음


APP_DIRS가 True면, 'templates 파일이 앱 안쪽에 있으니 잘 찾아보렴'

0개의 댓글