[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🛠 기타/WEB

django 기초 - 원리의 기초적용 (HttpResponse)

inu 2020. 8. 21. 12:15
반응형
  • 앞선 게시물에서 배운 원리를 적용해볼 것이다.
  • 본격적인 원리적용 실습에 앞서, 선행되어야 할 작업이 있다.
  • app을 사용하기 위해서는 settings.py에 우리가 생성한 app이 표기되어 있어야 한다.
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
  • 프로젝트 폴더의 settings.py를 열어보면 INSTALLED_APPS 리스트가 존재할 것이다. 여기에 우리가 생성한 앱들을 추가시켜줘야 정상적으로 작동한다. 'firstapp'과 같이 그냥 app의 이름을 리스트에 추가시켜주고 저장하면 된다. (기존에 존재하는 앱은 장고에서 기본적으로 제공하는 앱들이다.)

HttpResponse : urls.py

  • 가장 기초적인 HttpResponse을 사용해 작업을 진행하겠다.
  • html 파일을 따로 사용하지 않고, 클라이언트에게 response를 던져줄 수 있다.
  • django의 원리를 생각해보자. django는 클라이언트로부터 request를 받으면 가장 먼저 urls.py를 확인한다.
  • 따라서 우리가 먼저 확인해야 하는 부분도 urls.py이다.
urlpatterns = [
    path('admin/', admin.site.urls),
]
  • urls.py에는 현재 기본적인 admin 주소외에는 아무것도 설정되어 있지 않다.
  • 우리는 클라이언트가 아무것도 뒤에 붙이지 않은 기본적인 초기 주소(ip주소:포트)를 입력했을 때 내보낼 반응을 만들어볼 것이다.
  • 따라서 urlpatterns에 새로운 path를 추가해준다.
from firstapp import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home, name = 'home')
]
  • path의 제일 처음에 존재하는 값은 ip주소:포트 뒤에 붙을 추가적인 url이다. 이를 조정해 다양한 url 요청을 구분할 수 있다. 하지만, 우리는 초기 주소에 내보낼 반응을 만들 것이기 때문에 아무것도 적지 않았다.
  • 두번째 존재하는 값은 그 요청이 들어왔을 때 확인할 위치 혹은 함수이다. 우리는 views.py에 존재하는 home함수를 시행하도록 할 것이다. (아직 home 함수는 작성하지 않았다.)
  • 세번째 존재하는 값은 url의 이름인데, 이를 어떻게 활용하는지는 추후 살펴볼 것이다. 우선 이런게 있다 정도만 알아두자.

HttpResponse : views.py

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.

def home(request):
    return HttpResponse('Hello world!')
  • views.py 파일을 열어 위와 같이 작성해보자.
  • 우리는 HttpResponse을 활용할 것이니 먼저 해당하는 라이브러리에서 import해준다.
  • 그리고 home 함수를 작성한다. 이는 아무런 작업도 하지 않고 바로 HttpResponse이라는 객체만 넘겨준다. 이는 앞서도 설명했듯이 html파일을 사용하지 않고 클라이언트에게 유사한 Respone을 던져준다.
  • 여기까지 진행하면 클라이언트로부터 요청을 받고, 그 요청을 urls에서 확인, views에서 처리 및 반응하는 일련의 과정에 대한 설계가 마무리 된 것이다.

결과

  • python manage.py runserver를 통해 서버를 돌리고, 설정된 주소로 들어가면 위와 같이 Respone을 성공적으로 받은 것을 확인할 수 있다.
반응형