본문 바로가기
Python/Django

[django] 장고에서 return 지정하기

by zenna 2022. 5. 4.
728x90

웹 페이지를 만들다 보면, 백엔드 로직을 수행하고 나서 바로 html로 이동하는 경우도 있지만 url을 직접 지정해줘야 하는 경우도 있습니다. 이런 return방법들을 정리해보려 합니다!

* 각각의 방식 사용 시 import해줘야 하는 내용도 함께 기재합니다!


1. 기본형 (이동할 html을 지정해주기) 

return render(request, '이동할_html_화면.html, 추가적으로_보내줄_정보가_있다면_여기에_딕트_추가)


2. 다른 views파일의 def로 이동하기

from django.http import HttpResponseRedirect
from django.urls import reverse
return HttpResponseRedirect(reverse('앱이름:뷰def이름', args=(함께_보내줄_정보,)))

위 예시대로라면, 지정한 뭔가의 로직을 처리한 뒤 analysis_photo앱 안에 있는 views 파일에서 f_hp라는 def를 찾아갑니다

위 명령어를 처리하면 url은 analysis_photo 앱의 urls.py에서 name이 f_hp로 설정되어있는 패턴의 url로 이동합니다. 

 


3. url로 이동하기

from django.shortcuts import redirect
return redirect('이동할 url')

저는 아이디가 zenna인 사람이 2022-05-07에 관한 정보를 확인하는 url을 작성하기 위해 url을 /m/zenna/2022-05-07 로 보내주도록 작성한거예요. 사진상에 '로직 처리..'라고 되어있는 부분에서 user_id와 date는 선언을 이미 해줬구요

 


이정도면 많이 사용하는 이동 경로는 다 지정하실 수 있을거예요.

추가했으면 하는 방법이 있으면 댓글주세요 :)

728x90

댓글