본문 바로가기
[Django]

Django 간단실습 -4 / 라우팅

by Hevton 2022. 12. 16.
반응형

 

 

라우팅이라는건, 경로를 지정하여 만들어 주는 것이다.

웹서버를 구축할 때에 가장 중요한 요소라고 볼 수 있다.

출처 : 생활코딩

 

 

자 이제 우리 프로젝트의 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 아키텍쳐가 아니다.

 

반응형