보통 urls.py 파일에 여러가기 view 의 주소를 많이 지정해 둔다.
코딩중에 해당 페이지로 이동하거나 render 를 하고 싶다면 이 view 에 맵핑된 주소를 불러와야 하는데 주소를 바로 주게 되면 혹시 변경이 생기는 경우, 그냥 소스 전체를 찾아서 수정해야 한다.
이를 방지하기 위해 url 에 접근하는 함수가 몇개 있는데,
결론은 그냥
resolve_url
redirect
이정도 쓰면 될듯
from django.shortcuts import resolve_url, redirect
resolve_url('blog:post_detail', 10) # '/blog/10/'
redirect('blog:post_detail', 10)
장고 템플릿에서 쓰는 방법은 다들 아는 바와 같이 아래처럼 사용하면 된다.
<li><a href="{% url 'blog:post_detail' post.id %}">{{ post.title }}</a> </li>
이 내용은 아래 원본글에서 더 자세하게 보세요.
https://wayhome25.github.io/django/2017/05/05/django-url-reverse/
Hanna Auramenka 님의 사진, 출처: Pexels