Django Basics - URL Naming

진성·2022년 10월 6일
0

Django해보장고

목록 보기
5/6
post-thumbnail

1. URL 별칭(Naming)

  1. Template에서 사용하는 URL이 개발 과정 중 변경되면, 일일이 변경해야 한다. urls.py의 path 수정에 종속성을 없애기 위해, URL에 별칭을 부여한다.

  2. 간단히 urls.py의 path에 name을 부여하면 된다. urlpatterns = [path('', views.index, name='index')]

  3. 위의 url을 사용하기 위해선 template tag를 <a href="{% url 'detail' question_id=question.id %}"></a>로 변경해주면 된다. 즉 {% url 'urlname' %}형식으로 말이다.


2. URL Namespace

  1. 그러나 같은 별칭을 여러 App에서 공통적으로 사용하면 문제가 생긴다. 해당 name들을 App의 Namespace를 만들어 구분지어준다.

  2. urls.py에 app_name = 'pybo' 한 줄을 추가해주면 된다. 이는 해당 App의 namespace 명을 정의하는 것이다.

  3. 위 코드를 이에 맞춰 바꾸면 <a href="{% url 'pybo:detail' question_id=question.id %}"></a>, 즉 {% url 'appname:urlname' %}형식으로 사용하면 된다.

profile
어려운 건 꾸준히, 재밌는 건 빠르게

0개의 댓글