Routing

장영준·2023년 1월 15일
0

django-study

목록 보기
2/2

1. myproject 초기 라우팅

myproject/urls.py 에서 urlpatterns의 코드를 다음과 같이 수정했다.

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls'))
]

이에 admin/으로 접속하면 장고에서 제공하는 admin 사이트가 나오고, http://127.0.0.1:8000/ 로 접속하면 myapp.urls 쪽으로 이동한다.


2. myapp/urls.py

myapp/urls.py 에서 urlpatterns의 코드를 다음과 같이 수정했다.

from django.urls import path
from myapp import views

urlpatterns = [
    path('', views.index),
    path('create/', views.create),
    path('read/<id>/', views.read)
]

로직은 다음과 같다.
1. 아무것도 없는 path로 이동했을 경우, views.py 내의 index 함수가 나타내는 것을 return한다.
2. 'create/' path로 이동했을 경우, views.py 내의 create 함수가 나타내는 것을 return한다.
3. 'read/' path로 이동했을 경우, views.py 내의 read 함수가 나타내는 것을 return 한다.


3. migrations/views.py

그렇다면 views.py 파일을 살펴보자.

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)

작성돼있는 대로 index와 create로 접속하면 HttpResponse 뒤에 적힌 단어들이 창에 표시된다.
read의 경우에는 살짝 다르다. urls.py에서 read/<id>/부분의 id를 두번째 인자로 받아 HttpResponse 뒤에 더해주면 적힌대로 창에 표시된다.
ex. '/read/1'로 접속한 경우 -> Read!1이 창에 표시된다.

유저별 id, 또는 게시글 id 관련해서 사용할 때 쓸 수 있을 것 같다.


4. 전체 로직

전체 로직은 다음과 같다.

profile
배움의 개발자

0개의 댓글