그래서 내가 필요한 것은 로그인 필요 페이지를 모달로하고 싶습니다.
django의 login_required를 사용하여 달성 할 수없는 대신 ajax를 사용할 수 있습니다.
def login_required_ajax_view(request):
if request.is_ajax():
if request.user.is_authenticated():
return JsonResponse(data={'logged_in', True})
return JsonResponse(data={'logged_in', False})
return HttpResponse("not ajax") # Add something if the call isn't ajax
을 그리고이 페이지에 자바 스크립트가 될 것입니다 :
이 귀하의 의견에 있어야합니다
function login_required() {
$.ajax({
url: 'url goes here',
data: data
success: success //on success call a function checking logged_in is
//true or false then open modal to log in.
})}
이 버튼을 클릭하고 이동하도록 허용 true를 돌려주는 경우 다음 페이지로 이동하십시오.
아니요, 오해하셨습니다. Django 기본 동작은 표준 로그인보기 후에 일부 페이지로 리디렉션됩니다. 난 그저 해제하고 싶습니다 - 내가 필요로하는 것은 세션 ID입니다. 이것은 헤더의 첫 번째 응답으로 반환되지만 리디렉션은 필요 없습니다. – Compadre