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