철학과 학생의 개발자 도전기

[프로젝트] MOCO 모각코를 위한 웹서비스 07 - 이전 페이지로 이동 본문

프로젝트

[프로젝트] MOCO 모각코를 위한 웹서비스 07 - 이전 페이지로 이동

Younghun 2022. 8. 17. 17:41

개선할 점 발견

핵심기능들을 추가하고 사이트를 테스트하던 중 한 가지 불편사항을 찾았다.

기존에는 로그인/로그아웃을 하면 무조건 '모각코 홈' 페이지로 이동했다. 그러나 사용자 입장에서는 이전에 보고 있던 페이지로 이동하는 것이 편리할 것이다.

 

'플레이스' 페이지를 보던 중 로그인이 필요해서 로그인을 했는데 다시 '모각코 홈' 페이지라면 짜증나지 않을까?

이러한 이유로 로그인/로그아웃 이후 redirect는 이전 페이지가 되도록 코드를 수정했다.

 

login 코드 일부

위 코드를 보면 next 값을 request에서 받아오는 것을 확인할 수 있다.

 

next값이 바로 redirect시켜줄 url 주소이자 이전에 보던 페이지이다.

하지만 사용자가 처음 접속한 페이지가 로그인 페이지라면? 그러면 next값이 없을 것이다. (정확히는 'None' 값 들어옴)

이 경우 에러가 나는 것을 방지하기 위해 예외처리를 해주었다.

 

iftry중 어떤 것을 사용할까 고민했는데 검색해서 찾아보니 99프로 예외가 나지 않는다면 try, 50프로 예외가 안 난다면 if문이 성능적으로 좋다고 한다. 보통 사용자는 메인페이지로 먼저 접속하기 때문에 이전 페이지가 없는 예외는 거의 없을 것 같아서 try로 선택했다.

 

그러면 next 값은 어떻게 받아올까? 탬플릿을 살펴보자.

next 값에 request.path를 넣어서 전달해준다. 그러면 로그인하기 전 페이지의 url을 서버에서 받을 수 있게 된다.

 

문제 해결!