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
'Develop > Django' 카테고리의 다른 글
Django 리다이렉트(Redirect) - 6 (0) | 2023.02.26 |
---|---|
Django 동적 URL 패턴 로직 추가- 5 (0) | 2023.02.26 |
Django 경로 변환(타입 추가) - 4 (0) | 2023.02.26 |
Django 동적 URL 패턴(Dynamic Path Segments) - 3 (0) | 2023.02.25 |
Django 시작하기(생성 명령어, Setup 연습) - 1 (0) | 2023.02.19 |