Leta Learns

[점프 투 장고] 2-01 주소와 화면을 연결하는 URL과 뷰 본문

Django

[점프 투 장고] 2-01 주소와 화면을 연결하는 URL과 뷰

leta 2021. 7. 1. 01:25

앱 생성 : django-admin startapp [name]

개발 서버 구동 : python manage.py runserver

 

 

urls.py

    urlpatterns = [

        path('admin/', admin.site.urls),

        path('pybo/', views.index),

    ]

 

=> path 함수를 사용하여 pybo/URL과 views.index를 매핑. (views.index => views.py의 index 함수를 의미)

이런 식으로 url과 view 함수를 매핑한다.

URL 매핑에는 호스트명과 포트 생략, 끝에는 슬래시 붙이기.

 

 

views.py

    from django.http import HttpResponse

    def index(request):

        return HttpResponse("안녕하세요 pybo에 오신 것을 환영합니다.")

 

=> index함수의 매개변수인 request는 장고에 의해 자동으로 전달되는 HTTP 요청 객체.

     request는 사용자가 전달한 데이터를 확인할 때 사용.

     HttpResponse : 페이지 요청에 대한 응답을 할 때 사용하는 장고 클래스.

 

 

 

장고 개발 흐름 정리

   사용자가 페이지 요청 -> 장고 개발 서버가 URL 분석 -> URL에 매핑된 함수(views.py) 호출 -> 함수 실행 결과를 웹 브라우저 화면에 전달.

 

 

 

URL 분리하기

config/urls.py 와 pybo/urls.py 를 따로 구성.

config/urls.py 에서    path('pybo/', views.index)

                              -> path('pybo/', include('pybo.urls'))

                                 => pybo/로 시작되는 페이지 요청은 모두 pybo/urls.py에 있는 url 매핑을 참고하여 처리하라.

 

pybo/urls.py에서는 paht함수의 첫 번째 매개변수에 빈 문자열("")을 인자로 넘겨줘도 됨.

 <- 이미 config/urls.py에서 pybo/에 대한 처리를 해주었기 때문.

 

 

 

 

 

참고 : wikidocs 점프 투 장고 https://wikidocs.net/70649

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

Comments