2016-09-19 8 views
0

ユーザーログイン後にリダイレクトを完全にオフにする方法はありますか?私はちょうどこれを行う方法を見つけることができません...私はちょうどモーダルウィンドウで起こっているので、私はログイン後に追加のクエリを必要としません。私はLOGIN_REDIRECT_URL = NoneまたはLOGIN_REDIRECT_URL = ''を設定しようとしましたが、これはどれも動作しません。私は何かを逃したのですか?ログイン後にDjangoリダイレクトをオフにする

答えて

0

私はあなたがログインに必要なページをモーダルにしたいと思っていたからです。

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 

をそして、これはページ内のJavaScriptのになるだろう:

これはあなたの意見でなければなりません

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を返す場合次のページに移動します。

+0

いいえ、あなたは間違っています。 Djangoのデフォルトの動作は、標準ログインビューの後にいくつかのページにリダイレクトすることです。私はそれをオフにしたいだけです - 私が必要とするのは、セッションIDです。ヘッダーの最初の応答で返しますが、私はリダイレクトする必要はありません – Compadre

関連する問題