본문 바로가기
Python/Django

Web - URL(1)

by hooni40 2021. 7. 5.
728x90
반응형

안녕하세요, 오늘은 url에 대해 다뤄보고자 합니다. Django Project 내의 파일들을 보면 urls.py라는 파일이 있습니다. 전에 Django project내의 파일들에 대해 간략히 설명드렸듯이 urls.py 파일은 user가 보내는 URL을 보고 알맞은 페이지로 연결해주는 역할을 합니다. (참고 : Web -Django project 시작 및 Server)

 

Django에서는 Project를 만들 때 urls.py 파일을 자동으로 생성해 주는데요, 안의 내용을 보면

path('admin/', admin.site.urls)라고 적혀 있습니다. 이것의 의미는 사이트 주소 뒤에 /admin이라고 있다면 admin.site.urls로 가라는 뜻입니다. (ex. naver.com/admin)

 

 

이제 직접 url 처리를 해보겠습니다. 하고자 하는 결과물은 사이트 주소 뒤에 /foods/index를 추가하면 Hello Django가 나오는 사이트로 바꿔주는 것입니다! 우선 costaurant project 아래의 urls.py 파일의 기존 코드 밑에 path('foods/', include('foods.urls'))를 추가해줍니다. 이것의 뜻은 사이트 주소 뒤에 /foods가 붙으면 foods App안의 urls.py 파일을 확인하라는 뜻입니다.

 

여기서 include를 사용하기 위해서는 django.urls에서 include 모듈을 가져올 수 있도록 설정해 주어야 합니다.

from django.urls import path뒤에 include를 추가해 줍니다! 하지만 여기서 foods App 안에는 urls.py 파일이 없기 때문에 저희가 만들어 주어야 합니다. 그 후 costaurant project의 urls.py 파일안의 내용을 그대로 붙여 넣어 줍니다. 여기에

path('index/', views.index)를 추가해 줍니다. 이것은 /index가 있으면 foods App 안의 views모듈에서 index함수를 가져와라는 뜻입니다. include와 동일하게 views 모듈도 추가를 해주기 위해 from . import views를 추가해 줍니다. 여기서 .(점)현재 디렉토리(예제에서는 foods를 말하겠죠?)를 말합니다.

 

 

여기서 views.py 모듈(파일)을 보면 비워져 있는데요, 여기에 index함수를 만들어 줍니다. return값으로는 HttpResponse함수를 써주는데요, 이 함수에 대해서는 다음에 자세히 다루겠습니다. 동일하게 Httpresponse함수를 사용하기 위해서는 Django.http에서 HttpResponse를 불러와 줘야 합니다! 그 후 WSL(터미널)에 와서 python manage.py runserver를 입력하여 주소를 받고 뒤에 /foods/index를 붙여 이동하면 끝입니다!! 처음에 원하던 Hello, Django! 가 출력된 것이 보이시나요! 이렇게 url 처리에 대해 정리해보았습니다.

 

 

728x90
반응형

'Python > Django' 카테고리의 다른 글

Web - 템플릿/렌더링  (0) 2021.07.07
Web - URL(2)  (0) 2021.07.06
Web - MVC/MVT Architecture  (0) 2021.07.04
Web - Django App  (0) 2021.07.02
Web - Django project 시작 및 Server  (0) 2021.07.01

댓글