(위와 같이 urls.py에 login과 logout 관련 뷰의 경로와 이름 지정,
클래스 형태이기 때문에 .as_view()를 붙이기!!
() 안에는 템플릿을 지정해줘야함, 우리가 직접 만들어서 쓸 것이기 때문
logout은 따로 설정할 것이 없음.)
(따로 login.html을 구현해 준 모습)
(실제로 로그인 구현한 모습은 위와 같다.)
(create에서 설정한 아이디와 비밀번호를 입력 후 로그인을 하면
account/profile 로 넘어가면서 위와 같은 에러 메세지가 뜬다.
로그인 성공후 어디로 가야하는 설정을 하지 않음. 디폴트로 설정되는 곳이 위와 같은 곳이다.)
=> next 라는 이름을 가진 post 또는 get 파라미터를 찾고, 존재하면 이곳으로 다시 간다. 하지만 이것이 없으면 우리가 만든 pragmatic 폴더에서 setting 내부에 있는 login_redirect_url 혹은 logout_redirect_url경로가 있으면 그곳으로 간다. 만약 이것도 없으면 디폴트로 적용된다.
(방금의 account/profile 이 디폴트의 예시)
따라서 앞에 있는 두가지 방법으로 원치 않는 경로로 가는 것을 방지한다.
(header.html에 구현한 login, logout에 대한 링크 지정.
우리가 만든 페이지 어디서든 간에 그 url을 next 라는 인자로 넘겨 줌으로서 로그인 또는 아웃을 하고 나서 원래 있던 그 자리로 되돌아 올수 있게 하는 것이다.
그리고 꼭 ?를 앞의 문장과 붙여야 한다 띄어쓰면 오류 발생!!!)
=> 로그아웃 후 다시 login 을 누르게 되면 위와 같이 원래 있었던 경로의 url 이 넘어와 있는 것을 확인 할 수 있다.
=> 해결하기 : 위에서 설명한 login_redirect_url 을 사용하면 된다.
(setting.py 맨 밑줄에 위와 같이 url을 reverse 를 이용하여 경로를 지정해 주면 된다.)