Django Include 함수
Django의 Project에는 많은 App이 존재하며, 각 App은 URL을 포함
App별 URL을 Project 내 urls.py에서 등록하는 대신,
각 APP에서 자체 urls.py를 등록
이를 위해 Project urls.py에서 Include를 사용하여 각 App별 urls.py를 연결
Project/urls.py
#urls.py
from django.urls import path, include
from posts import views
urlpatterns = [
path(''admin/', admin.site.urls),
path('', views.index),
path('posts/', include('posts.urls))
]
posts/urls.py
#urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
path('<int:post_id>/', views.detail),
path('<int:post_id>/comments', views.comments),-
]
posts/views.py
#views.py
from django.shortcuts import render
from django.http import HttpResponse
# def index(request):
# print('posts/ URL 패턴입니다.')
# return HttpResponse('Hello Heeham!')
def detail(request, post_id):
return HttpResponse(f'post {post_id} detail')
def comments(request, post_id):
return HttpResponse(f'post {post_id} comments')