Django

reverse

Strickland 2024. 5. 2. 16:43

장고의 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