본문 바로가기
컴퓨터 활용/노년에 즐기는 코딩

장고(Django)에서 URL 별칭(name)

by easyfly 2025. 7. 16.
반응형

장고(Django)에서 URL 별칭(name)

장고(Django)에서 URL 별칭(name)이란, 특정 URL 패턴에 이름을 붙여주는 것을 말합니다. 이렇게 이름을 붙이면 템플릿이나 뷰에서 직접 URL 문자열을 쓰지 않고, 이름으로 해당 URL을 참조할 수 있어 유지보수가 훨씬 쉬워집니다.

URL 별칭 사용


🔹 URL 별칭의 정의 방법

urls.py 파일에서 path() 함수의 name 인자를 사용합니다.

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),  # URL 별칭 'index'
    path('<int:question_id>/', views.detail, name='detail'),  # URL 별칭 'detail'
]

🔹 별칭 사용 예시

1. 템플릿에서 url 태그로 사용

<a href="{% url 'index' %}">홈으로</a>

<a href="{% url 'detail' question_id=3 %}">질문 보기</a>

※ question_id는 URL 경로에서 <int:question_id>/ 처럼 변수로 정의된 경우입니다.


2. 파이썬 코드에서 reverse() 함수로 사용

from django.urls import reverse

reverse('index')
# 출력: '/'

reverse('detail', args=[3])
# 출력: '/3/'

✅ URL 별칭을 사용하는 이유

이유 설명
유지보수 용이 URL 구조가 바뀌어도 별칭만 유지하면 전체 코드를 고칠 필요 없음
가독성 향상 url 'detail'처럼 의미 있는 이름 사용 가능
중복 제거 여러 곳에서 동일 URL을 참조할 수 있음

🔔 실전 팁

  • 하나의 프로젝트에서 index, detail, create, update, delete 등의 일관된 네이밍을 사용하는 것이 좋습니다.
  • 앱 이름까지 붙여서 url 'pybo:detail'처럼 네임스페이스(namespace)를 지정하면 앱 간 이름 충돌을 방지할 수 있습니다.

 

반응형

댓글