개발로 자기계발
article thumbnail
728x90

View

  • MVC Framework에서 말하는 Controller와 비슷한 역할(장고는 MVT라고 한다.)
  • Client에서 보낸 Request에 대해서 Response을 보내주는 역할

 

View는 사용자의 요청을 수락하고 응답을 반환한다.

User <=> Request / Response <=> Server <=> Database

 

1. app challenges의 "view.py"을 수정

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

def index(request):
    return HttpResponse("This works!") # 인스턴스화한다. - 기본적으로 클래스

 

2. view와 연결을 해줄 "urls.py" 파일을 challenges 폴더에 만든다.

from django.urls import path

# urls.py와 같은 폴더에 있을때 .
from . import views

# january url은 views.py의 index 함수를 보여준다.
urlpatterns = [
    path("january", views.index)
]

 

3. challenges(앱)에서 정의된 url을 mothly_challenges(프로젝트) url.py에서 로드한다.

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path("admin/", admin.site.urls),
    path("challenges/", include("challenges.urls"))
]

 

4. django를 실행하면 challenges(앱)의 url에서 연결한 january의 화면을 볼 수 있다.

http://127.0.0.1:8000/challenges/january


5. 추가로 challenges(앱)의 view를 수정해 본다.

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.

def january(request):
    return HttpResponse("Django is fun!")

def february(request):
    return HttpResponse("Coding for at least 1 hour every day!")

def march(request):
    return HttpResponse("Hard Coding is hard")

 

6. challenges(앱)의 url를 수정해 본다.

from django.urls import path
from . import views


urlpatterns = [
    path("january", views.january),
    path("february", views.february),
    path("march", views.march)
]

 

7. 다시 django를 실행해서 확인

※ monthly_challenges(프로젝트)의 url은 이미 challenges(앱)의 url을 포함하고 있기 때문에 따로 작업이 필요 없다.

http://127.0.0.1:8000/challenges/january

http://127.0.0.1:8000/challenges/february

http://127.0.0.1:8000/challenges/march

728x90
SMALL
profile

개발로 자기계발

@김잠봉

틀린부분이나 조언이 있다면 언제든 환영입니다:-)