수학과의 좌충우돌 프로그래밍

[Django] 효율적인 url 관리 (2) 본문

웹프로그래밍/Django

[Django] 효율적인 url 관리 (2)

ssung.k 2019. 5. 4. 20:55

효율적인 url 관리

https://ssungkang.tistory.com/entry/django-%ED%9A%A8%EC%9C%A8%EC%A0%81%EC%9D%B8-url-%EA%B4%80%EB%A6%AC

저번 포스팅에 이어 추가되는 내용이 있어서 보충합니다.

urls.py 에서 각 url 마다 name을 지정해줌으로서 하드코딩을 피하고 클린 코드를 짤 수 있습니다. 예시를 보면서 이해하도록 하겠습니다.

<a href="{% url 'signup' %}" class="sign_up_link">Sign Up Now</a>

다음과 같이 {% url 'url의 이름' %} 과 같은 방식으로 이름에 해당되는 url로 연결을 해줍니다.

프로젝트가 확장됨에 따라서 urls.py 를 앱마다 따로 관리하고 namespace로 연결할 경우에는 앞에 추가로 namespace를 붙여주어야합니다. 이로서 다른 앱에 같은 url 이름이 있어도 겹치는 문제를 해결할 수 있습니다.

# account/urls.py , app 내의 urls.py
app_name = "account"

# config/urls.py , 원래의 urls.py
path('account/', include('account.urls')),
<a href="{% url 'account:signup' %}" class="sign_up_link">Sign Up Now</a>

 

Comments