반응형
웹 애플리케이션에서 URL은 중요한 역할을 한다. 사용자가 웹 브라우저의 주소창에 URL을 입력하면, 서버는 해당 URL에 맞는 적절한 뷰를 찾아 처리해야 한다. Django에서는 이러한 URL의 관리와 라우팅을 위해 URL 패턴을 사용한다.
1. URL 패턴이란?
URL 패턴은 특정 URL이 어떤 뷰 함수나 클래스에 연결되어야 하는지를 정의하는 역할을 한다. Django는 urls.py
파일 내에서 이 패턴을 정의한다.
2. URL 패턴 작성하기
Django의 URL 패턴은 정규 표현식을 기반으로 한다. 이를 통해 다양한 형태의 URL을 효과적으로 처리할 수 있다.
예를 들어, 블로그 포스트의 상세 페이지를 보여주는 URL을 다음과 같이 정의할 수 있다.
from django.urls import path
from . import views
urlpatterns = [
path('post/<int:post_id>/', views.post_detail, name='post_detail'),
]
여기서 <int:post_id>
는 정수 형태의 post_id
값을 URL에서 추출하겠다는 의미다. 이 값은 views.post_detail
뷰 함수로 전달된다.
3. 뷰와 URL 패턴 연결하기
뷰 함수를 정의할 때, URL 패턴에서 추출한 값을 인자로 받을 수 있다.
예를 들어, 위의 post_detail
뷰는 다음과 같이 작성될 수 있다.
def post_detail(request, post_id):
post = get_object_or_404(Post, pk=post_id)
return render(request, 'blog/post_detail.html', {'post': post})
post_id
인자는 URL에서 추출한 포스트의 ID다. 이 값을 사용해 데이터베이스에서 해당 포스트를 가져온 후, 템플릿에 전달한다
Django의 URL 패턴과 라우팅은 웹 애플리케이션의 핵심 기능 중 하나다. 올바른 URL 패턴을 작성하고, 이를 적절한 뷰와 연결함으로써 사용자의 요청을 효과적으로 처리할 수 있다. 다음 글에서는 Django의 폼 처리 방법에 대해 알아보겠다.
반응형