Skill/Django

[Django] CRUD 정복하기(2)_Url

엉아_ 2021. 9. 6. 01:03
728x90

- urls.p

: 장고 서버로 요청(request)이 들어오면, 그 요청이 어디로 가야하는지 인식하고 관련된 함수(view)로 넘겨준다.

 

새로운 테이블을 만들었다면 이제 urls.py 파일을 채워주자!

 

- 프로젝트 폴더의 urls.py

# config/urls.py

from django.contrib import admin
from django.urls import path
from articles import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', views.index),
]

-> 프로젝트 폴더에서 앱(articles)의 urls.py로 바로 넘어갈수 있도록 경로를 만들어준다.

 

- 앱 폴더의 urls.py

from django.urls import path
from . import views

app_name = 'articles' # 앱 이름

urlpatterns = [
    # Create
    path('new/', views.new, name='new'),  # url주소, 해당함수, url 이름
    path('create/', views.create, name='create'),
    
    # Read
    path('', views.index,  name='index'),
    path('<int:pk>/', views.detail, name='detail'),  # variable routing
    
    # Update
    path('<int:pk>/edit/', views.edit, name='edit'),
    path('<int:pk>/update/', views.update, name='update'),
    
    # Delete
    path('<int:pk>/delete/', views.delete, name='delete'),
]

-> 해당 주소를 치면 view에 있는 해당 함수를 실행할 수 있도록 연결해준다.

 

✨ 여기서 잠깐!

 

- Variable routing

  • 동적 라우팅
  • URL 주소를 변수로 사용하는 것
  • URL의 일부를 변수로 지정하여 view 함수의 인자로 넘길 수 있음
  • 즉, 변수 값에 따라 하나의 path()에 여러 페이지를 연결 시킬 수 있음