
redirect 함수는 사용자를 다른 URL로 페이지를 이동할 때 사용.

views.py 에서 주로 사용됨. 위의 경우 products 앱의 home 페이지로 이동.| 기능 | 설명 |
|---|---|
| URL 이름으로 이동 | Django의 URL 패턴 이름을 사용하여 특정 뷰로 이동할 수 있음. |
| 매개변수를 포함한 이동 | URL 패턴에 필요한 매개변수를 함께 전달하여 특정 페이지로 이동 가능. |
| 절대/상대 URL로 이동 | 절대 경로나 상대 경로, 또는 완성된 URL을 사용해 이동할 수 있음. |
reverse 함수와 함께 사용 | reverse를 사용해 동적으로 생성한 URL로 이동 가능. |
| 동적 이동 | 쿼리스트링이나 HTTP_REFERER를 사용하여 조건에 따라 동적으로 이동할 수 있음. |
| 이동 후 메시지 전달 | Django 메시지 프레임워크를 사용하여 이동 시 사용자에게 알림을 전달 가능. |
reverse('product_detail', kwargs={'pk': 10}) 일 시 /product/10/ 와 같은 URL을 반환함.| 용어 | 설명 |
|---|---|
| 절대 경로 | 서버의 루트부터 시작하는 전체 경로를 나타내며, 웹 페이지의 위치를 정확하게 지정. |
| 상대 경로 | 현재 위치를 기준으로 하는 경로를 나타내며, 상대적인 위치를 기반으로 URL을 생성함. |
| 쿼리스트링 | url 의 ? 뒤에 키-값 쌍으로 입력되어 포함된 추가 데이터. |
| 동적 리디렉션 | 사용자의 이전 페이지(HTTP_REFERER) 또는 쿼리스트링을 기반으로 리디렉션할 URL을 결정함. |
https://example.com/over/there?name=ferret 일 시 name=ferret 는 쿼리 스트링으로, name 이 'ferret' 이라는 추가 데이터를 url 과 함께 전달한 것.| 기능 | 스크립트 |
|---|---|
| URL 이름으로 이동 | redirect('home') |
| 매개변수 포함 이동 | redirect('product_detail', pk=pk) |
| 절대 URL로 이동 | redirect('/some/url/') |
| 상대 URL로 이동 | redirect('https://www.example.com/') |
reverse와 함께 사용 | redirect(reverse('product_detail', kwargs={'pk': 10})) |
| 쿼리스트링 이동 | redirect('/some/url/?param=value') |
| 직전 페이지로 이동 | HttpResponseRedirect(request.META.get('HTTP_REFERER', '/')) |