1

別の Web サイトから Python/Django で開発された Web サイトに特定のページを表示する必要があります。ユーザーが python/Django サイトにログインしている場合は、要求されたページを表示します。現在、「request.user.is_authenticated()」メソッドを使用して、ユーザーがログインしているかどうかを確認しています。ユーザーがログインしていない場合は、/login ページにリダイレクトする必要があります。ユーザーがログイン資格情報を入力すると、要求された特定のページに正しくリダイレ​​クトされます。

問題は、ユーザーがログインしていない場合、ログイン ページにリダイレクトする必要があることです。この場合、URL が変更されます。ユーザーがログインしたら、以前の URL にリダイレクトする必要があります。これを実現するにはどうすればよいですか? 呼び出している URL は静的 URL ではありません。URL のパラメーターが変更されます。これを達成するために、Djangoの組み込みメソッドを探しています..

これを解決するためのより良いアイデアがある人もいます。

前もって感謝します。

4

1 に答える 1

2

のデフォルトの実装は、ログイン成功後にユーザーをその URL にリダイレクトさせるパラメーターをlogin_required受け入れます。next

https://docs.djangoproject.com/en/dev/topics/auth/default/#the-login-required-decorator

しかし、もちろん、この機能を数行で再作成することもできます。ログイン ビューで、orというgetパラメータの存在を確認し、ログインに成功したらそのパラメータにリダイレクトします。nextredirect_url

ユーザーをログインページに送るビューは、単純に追加する必要があります`'?next=%s' % request.path

そのような単純な。

于 2013-01-29T06:13:44.757 に答える