장고의 reverse() 함수는 URL 패턴의 이름을 이용하여 URL을 역으로 찾는 기능을 제공한다.
이를 통해 뷰에서 특정 URL로 리디렉션을 할 때나 템플릿에서 특정 URL로 링크를 생성할 때 유용하게 사용됩니다.
아래의 코드를 보자.
from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
path('<int:month>', views.monthly_challenge_by_number),
path('<str:month>', views.monthly_challenge, name="month-challenge")
]
path 의 name 파라미터값을 줄 경우, 이 값을 통해 URL 을 역으로 찾을 수 있다.
redirect_path = reverse("month-challenge", args=[redirect_month])
이 코드는 "month-challenge" 라는 이름의 URL 패턴에 대응하는 URL 을 반환한다. 만약 해당 URL 패턴이 매개변수를 가지고 있다면 'reverse()' 함수를 호출할 떄 매개변수를 함께 전달하여 해당 매개변수를 포함한 URL 을 반환 할 수 있다.
이는 args 에 위치기반 값을 전달 함으로서 해당 매개변수를 포함한 URL 을 반환한다.
이로서 동적으로 URL 을 생성 할 수 있으며, 뷰나 템플릿에서 URL을 하드코딩 하지 않고 유연하게 관리할 수 있다.
'Django' 카테고리의 다른 글
파이참 장고 HTML 자동 완성 설정하기 (0) | 2024.05.05 |
---|---|
템플릿 서빙 방법 및 문법 (0) | 2024.05.05 |
router 생성 (0) | 2024.04.30 |
파이썬 가상환경 만들기 (0) | 2024.04.30 |
장고 (1) | 2024.04.30 |