라우팅이라는건, 경로를 지정하여 만들어 주는 것이다.
웹서버를 구축할 때에 가장 중요한 요소라고 볼 수 있다.
자 이제 우리 프로젝트의 urls.py를 수정해보자.
아무것도 없는,
localhost:8000/ 으로 접속하면 myapp_1 패키지 내의 urls.py로 전송하겠다는 코드를 작성해준다.
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path("admin/", admin.site.urls),
path('', include('myapp_1.urls')) # 추가된 부분
]
그러기 위해 myapp_1 패키지 내에도 urls.py를 추가해줘야겠다.
웹서버를 실행하고
localhost:8000/ 에 접속하면
메인 패키지의 urls.py가 실행된 뒤에, 여기서 myapp_1.urls.py로 라우팅해준다.
myapp_1의 urls.py를 보자
코드를 적어준다.
from django.urls import path
from myapp_1 import views;
urlpatterns = [
path('', views.index),
path('create/', views.create),
path('read/<id>/', views.read)
]
'' => localhost:8000/ 으로 접속하면 views.index로 위임해주고
'create/' => localhost:8000/craete/ 으로 접속하면 views.create로 위임해주고
'read/<id>' => localhost:8000/read/특정값 으로 접속하면 views.read로 위임해준다.
<id>라고 해놓으면, 사용자로부터 받은 입력을 변수로 이용할 수 있다.
views.py를 열어서 방금 언급했던 index, create, read 세 함수를 정의해주자.
from django.shortcuts import render, HttpResponse
# Create your views here.
def index(request):
return HttpResponse('Welcome!')
def create(request):
return HttpResponse('Create!')
def read(request, id):
return HttpResponse('Read!' + id);
localhost:8000/ 으로 접속한 결과
localhost:8000/create/ 으로 접속한 결과
localhost:8000/read/1 으로 접속한 결과
localhost:8000/read/200 으로 접속한 결과
참고로, 아시는 분들은 아시겠지만 지금 url 경로에
create, read 이런식으로 임의로 작성해 놓았는데
이렇게 구현해 놓은 것은 RESTful 아키텍쳐가 아니다.
'[Django]' 카테고리의 다른 글
Django 간단실습 -5 / Web Server와 Web Application Server (0) | 2022.12.20 |
---|---|
Django 간단실습 -3 / 앱 (0) | 2022.12.15 |
Django 간단실습 -2 / Github 연동 (0) | 2022.12.15 |
Django 간단 실습 -1 / 30초 만에 웹페이지 만들기 (0) | 2022.12.15 |
Django - 웹 페이지를 찍어내는 공장을 만드는 도구 (0) | 2022.12.10 |