[django] Django에서 로그 아웃 한 후 리디렉션 할 위치를 구성하는 방법은 무엇입니까?

로그 아웃 후 리디렉션 할 URL을 어디로 설정할 수 있는지 궁금합니다. 로그인 URL을 설정할 수 있다는 것을 알고 있습니다. 내 홈 페이지로 리디렉션하고 싶습니다.



답변

Modern Django (2017+?)에는 LOGOUT_REDIRECT_URL.

이전 Djangos / 원래 답변

아무것도 덮어 쓰거나 래핑 할 필요가 없습니다.

문서에 따르면 next_page로그 아웃보기에 인수를 제공 할 수 있습니다.
https://docs.djangoproject.com/en/dev/topics/auth/default/#django.contrib.auth.views.logout

(r'^logout/$', 'django.contrib.auth.views.logout',
                          {'next_page': '/successfully_logged_out/'})


답변

더 쉬운 방법 :

로그 아웃 요청 URL에 ‘next’매개 변수를 추가하십시오. 예를 들면 :

<a href="{% url 'auth_logout' %}?next=/path_to_the_page"> Logout</a>

그러면 로그 아웃보기가 트릭을 수행합니다.

로그인 후 리디렉션의 경우 settings.py에서 간단히 설정할 수 있습니다.

LOGIN_REDIRECT_URL = '/path_to_the_page'
LOGIN_URL = '/path_to_the_page'


답변

Django 1.10 이후로 정의 할 수 있습니다 LOGOUT_REDIRECT_URL( 문서 참조 ).


답변

setting.py 파일에서 LOGOUT_REDIRECT_URL을 사용하여 어디에서나 사용자를 리디렉션 할 수 있습니다.

LOGOUT_REDIRECT_URL = 'url name to redirect'


답변

현재 페이지로 리디렉션

<a href="{% url 'logout' %}?next={{ request.path | urlencode }}">{% trans "Logout" %}</a>

Django 1.9에서 테스트되었습니다.

참조 : Django의 {% url %} 템플릿 태그를 통해 쿼리 매개 변수를 전달할 수 있습니까?


답변

로그 아웃보기에서 사용자를 완전히 로그 아웃 한 후 HttpResponseRedirect (url)를 반환합니다. 자세한 내용은 여기를 참조하십시오 .


답변

에서 문서 에는 ‘다음’페이지를 오버라이드 (단순한 래퍼 할 수 있습니다) 자신의 로그 아웃 뷰를 작성할 수 있습니다.