[Django] 장고 HTML URL 경로 설정하는 방법

Django를 이용해 웹 사이트를 제작하면 여러 페이지가 나오게 된다. 이때 다른 페이지로 가기 위해 HTML 문서에서는 많은 하이퍼 링크를 만들게 되는데, 간단하게 절대경로를 만들어 넣을 수 있다.

<a href="http://localhost:8000/polls/abcd/">gogo</a>

 

물론! 이렇게 해도 되지만, 우리는 웹을 제작하면서 경로 이름을 바꾸는 경우가 종종 있다. 이 때 하나의 경로 이름을 바꾸게 된다면 이 경로에 하이퍼링크를 걸고 있는 모든 HTML 문서를 수정해줘야 하는 불편함이 발생한다. 이런 문서들을 찾기도 힘들고.. 시간도 많이 버리게 된다. 이런 문제를 해결하기 위해 등장한 것이 바로 url 탬플릿 태그 이다!

 

urls.py에 다음과 같이 경로를 줄때 옵션으로 이름공간을 정해 줄 수 있다.

from django.urls import path

from . import views

urlpatterns = [
    path('abcd/', views.vote, name='abcd'),
]

이렇게 경로의 이름을 정해줄 수 있다! 우리는 그럼 이 이름을 이용해 하이퍼링크를 걸어주면 추후 경로 이름을 수정하더라도 일일히 HTML 문서를 수정해 줄 필요가 없다! 단, 이름공간을 수정할 경우엔 HTML 문서를 바꿔주어야 하니 처음 이름을 잘 고르도록 주의해야 한다.

 

<a href="{% url 'abcd' %}">gogo</a>

 


참고

https://docs.djangoproject.com/ko/4.0/intro/tutorial03/