Notice
Recent Posts
Recent Comments
Tags
- XSS방어
- 파일업로드 체크
- 말줄임표시
- 바코드 스캔하기
- asp.net Select
- jquery 바코드생성
- django 엑셀불러오기
- ASP.Net Core 404
- ViewBag
- XSS PHP
- 404에러페이지
- Mac Oracle
- ViewData
- asp.net dropdownlist
- TempData
- jquery 바코드
- 타임피커
- 하드 마이그레이션
- SSD 복사
- asp.net core Select
- javascript 유효성체크
- 바코드 생성하기
- php 캐쉬제거
- 파일업로드 유효성체크
- javascript 바코드 생성
- javascript 바코드스캔
- 맥 오라클설치
- javascript redirection
- 하드 윈도우 복사
- 강제이동
웹개발자의 기지개
[Django] redirect 로 parameter 값을 넘기고 싶을때 본문
python/Django
[Django] redirect 로 parameter 값을 넘기고 싶을때
http://portfolio.wonpaper.net 2023. 11. 13. 09:40Django 상에서 다음 페이지로 이동시에는
보통의 경우 render 함수나 redirect 함수를 보통쓴다.
[ render 함수 ]
context = {}
context['search'] = search
context['keyword'] = keyword
context['page'] = page
return render(request, 'adm/notice_detail.html', context)
위의 간단한 예시처럼 context 라는 딕셔너리를 하나 선언하고 이안에 담아서 보낼수 있다.
그러나, 문제는 다음페이지로 이동은 하는데, 주소창도 그래도 바뀌지 않으며, notice_detail 다음페이지로 refresh 가 되지 않아서
썰렁한 빈화면 페이지를 접하게 된다.
이를 위해서 redirect 함수로 직접적으로 페이지 이동과 함께 refresh 되며 주소창에도 다음페이지 주소가 잘 나오도록 할 수가 있다.
문제는 redirect 함수 특성상 get 방식등으로 parameter 를 넘길 수 가 없다는 것이다.
이에 잠깐 트릭이 필요한데, 구글링 삽질로 드디어 찾아내었다.
[ redirect 함수 ]
return redirect('/adm/notice_detail.html', context). # 문법오류 -> 이렇게 쓸수가 없다.
from django.urls import reverse
from urllib.parse import urlencode
query_string = urlencode({'search': search, 'keyword': keyword, 'page':page, 'no': str(no)})
url = '{}?{}'.format('/adm/notice_detail/', query_string)
return redirect(url)
참고 : https://realpython.com/django-redirects/
'python > Django' 카테고리의 다른 글
[Django] nginx: [emerg] open() "/etc/nginx/proxy_params" failed (2: No such file or directory) in /etc/nginx/sites-enabled (0) | 2023.11.20 |
---|---|
[Django] 최근글에 new 이미지 넣기 - Datetime, Cutom Template Filter 사용 (0) | 2023.11.15 |
[Django] SummerNote (써머노트) 에디터 적용하기 (0) | 2023.11.08 |
[Django] 삼항 연산자 정리 (1) | 2023.10.31 |
[Django] 다른 App 의 Model을 Import 할려고 할때 (0) | 2023.10.31 |
Comments