본문 바로가기

Python/Python_Django

[Python_Django] 장고의 템플릿 언어를 이용해서 url 이름 짓기

장고에서는 템플릿 언어를 제공해준다.

템플릿 언어는 html에서 파이썬 변수와 문법을 사용할 수 있게 해주는 것으로 장고를 사용할 때 매우 유용하게 쓰인다.

이걸 이용하면 아무리 길어진 url도 변수 하나로 지정 가능해진다.


HelloDjango > urls.py
from django.contrib import admin
from django.urls import path, include
from board.views import main

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', main, name = "mainPage"), # name = " "로 이 url에 이름을 만들 수 있다.
    path('', include('navBar.urls')),
]

 

navBar > urls.py
from django.urls import path
from .views import comment

urlpatterns = [
    path('comment/', comment, name = "commentPage"), # 마찬가지로 이름을 지어준다.
]

이제 이름을 지어줬으니, html에서도 href 부분을 바꿔줘야한다.

board > templates > board > main.html
<!DOCTYPE html>
<head>

</head>
<body>
    <h1>
        Hello Django!
    </h1>
    <a href='{% url "commentPage" %}'>comment</a>
    <!-- {% %}(템플릿 태그) 안에 url과 url의 이름을 지정한다. -->
</body>

 

navBar > templates > navBar > comment.html
<!DOCTYPE html>
<head>

</head>
<body>
    <h1>
        This is Comment Tab
    </h1>
    <a href ='{% url "mainPage" %}'>main</a>
    <!-- 이 부분도 똑같이 사용해준다. -->
</body>

 

표면상 바뀐건 없지만 url을 변수처럼 이용해서 사용 가능하다는게 이점이다.