https://wayhome25.github.io/django/2017/05/05/django-url-reverse/
django official : https://docs.djangoproject.com/en/2.2/ref/urlresolvers/
- 장고는 urls.py 변경을 통해 ‘각 뷰에 대한’ url이 변경되는 유연한 시스템을 갖고 있다.
- url이 변경 되더라도 url name명만 일치하면 url reverse가 변경된 url을 추적한다. (누락의 위험이 적다)
URL Reverse를 수행하는 4가지 함수
reverse()
- 리턴형식 : string
from django.core.urlresolvers import reverse
reverse('blog:post_list') # '/blog/'
reverse('blog:post_detail', args=[10]) # '/blog/10/' args 인자로 리스트 지정 필요
reverse('blog:post_detail', kwargs={'id':10}) # '/blog/10/'
reverse('/hello/') # NoReverseMatch 오류 발생
resolve_url()
- 리턴형식 : string
- 내부적으로 reverse() 사용
- reverse() 보다 사용이 간단하다.
from django.shortcuts import resolve_url
resolve_url('blog:post_list') # '/blog/'
resolve_url('blog:post_detail', 10) # '/blog/10/'
resolve_url('blog:post_detail', id=10) # '/blog/10/'
resolve_url('/hello/') # '/hello/' 문자열 그대로 리턴
'frameworks > django' 카테고리의 다른 글
settings.py환경을 분리하여 dev,prod 환경에서 구동하기 (0) | 2019.10.02 |
---|---|
커스텀 템플릿태그(templatetags) 응용하기 (0) | 2019.09.17 |
form의 가장 간단한 형태부터 validation까지 차례차례해보자! (0) | 2019.09.10 |
django template에서 customizing 필터를 사용하는 법 (0) | 2019.09.04 |
httpResponse, HttpResponseRedirect, render, redirect 의 차이 (0) | 2019.09.02 |