Django

[Django] View 사용하기

주댕이 2024. 1. 25. 17:49

# View 구현하기

  • 메인 페이지(main)를 제공하는 View 함수 생성하기
  • config 디렉터리에 views.py 파일을 만들고, 그 안에 아래 내용을 적는다.
## config/views.py(새로 생성)

from django.http import HttpResponse

def main(request):
    return HttpResponse("안녕하세요, pyburger입니다")
  • Django의 View 함수에서 브라우저에 텍스트를 돌려주고 싶다면, 문자열을 직접 리턴하는 것이 아니라, HttpResponse 객체를 리턴해 주어야 한다.
  • HttpResponse는 Django가 돌려준 값을 브라우저가 읽을 수 있도록 적절한 처리를 해 주는 역할을 한다.

 

# URLconf 구현하기

  • URLconf는 config 디렉터리의 urls.py 파일(이미 만들어져 있음)에 구현한다.
## config/urls.py

from django.contrib import admin
from django.urls import path
>>from config.views import main<<  # views.py에 작성한 main 함수를 가져오기

urlpatterns = [
    path("admin/", admin.site.urls),
    >>path("", main),<<  # 아무것도 입력하지 않은 경로와 main 함수를 연결
]
  • urlpatterns는 리스트이며, 이 리스트의 각 path 항목은 메뉴를 나타낸다.
  • 기본적으로 paht("admin/") 항목이 정의되어 있으며, 이는 관리자 페이지 주소를 나타낸다.
  • 메뉴를 나타내는 경로는 path 함수를 사용한다.
  • path 함수는 Django에 내장된 함수이며, 'from django.urls import path' 구문으로 import 되어 있다.
  • View를 path 함수를 사용해 연결시키기: from...import 구문을 사용해 view.py에 작성한 main 함수를 config/urls.py에 불러왔다.
  • 개발 서버 확인
python manage.py runserver
  • http://127.0.0.1:8000/

 

 

# View 종류 늘리기

  • 다른 경로로 접근했을 때 보여줄 페이지 구성하기
  • 대문 역할을 하는 View인 main 함수가 있는 config 디렉터리의 views.py 파일을 열고, burger_list라는 새로운 View 함수를 추가한다.
## config/views.py

from django.http import HttpResponse

def main(request):
    return HttpResponse("안녕하세요, pyburger입니다")

>>def burger_list(request):
    return HttpResponse("pyburger의 햄버거 목록입니다")<<
  • 새 View 함수인 burger_list는 이 가게에 어떤 버거가 있는지 알려주는 직원 역할을 하게 만들 예정이다. 일단은 "pyburger의 햄버거 목록입니다"라는 문자열만 돌려주도록 하고, 이 View 함수를 URLconf와 연결시킨다.
## config/urls.py

from django.contrib import admin
from django.urls import path
# burger_list 함수를 추가적으로 import한다
from config.views import main>>, burger_list<<

urlpatterns = [
    path("admin/", admin.site.urls),
    # 경로를 지정하지 않으면 main 직원을 호출한다
    path("", main),
    # 'burgers'경로로 접근하면 burger_list라는 직원을 호출한다
    >>path("burgers/", burger_list)<<
]
  • View함수의 이름은 burger_list인데, URLconf에서의 이름은 burgers/이다.
  • 개발 서버를 실행하고, 새로 만든 경로인 http://127.0.0.1:8000/burgers/에 접속하면 "pyburger의 햄버거 목록입니다"라는 메시지를 볼 수 있다.

728x90

'Django' 카테고리의 다른 글

[Django] 데이터베이스 마이그레이션  (0) 2024.01.26
[Django] Model 구성하기  (0) 2024.01.26
[Django] Template 사용하기  (0) 2024.01.26
[Django] Django 설치와 프로젝트 생성  (0) 2024.01.25