Pinaxで、ログインが必要なリンクがある場合(つまり、@ login_requiredデコレータを使用している場合)、「次は何か」にリダイレクトされるのではなく、ログイン後にそのリンクにリダイレクトするにはどうすればよいですか?
ありがとう
LOGIN_REDIRECT_URL設定を設定するだけです。
編集
Pinaxは別の設定LOGIN_REDIRECT_URLNAMEもサポートしているようです。これは、LOGIN_REDIRECT_URLreverse
と同じことを行うようですが、URL名に設定されているため、settings.pyファイルでを呼び出す必要はありません。
より「動的な」リダイレクトの場合、pinax.apps.account.views.loginビューは、 pinax.apps.account.utils.get_default_redirectを使用して、以下からリダイレクトURLを検索します。
のコードは、get_default_redirect
実際にはセッションで「redirect_to」キーをチェックインしています。このキーは、メソッドがそれ自体を調べようとしないため、おそらく設定で定義された値の1つを保持しますdjango.conf.session
。docstringは、これらの設定をチェックすると主張していますが、それはプロジェクトで経験していることのようです。
ログインフォーム内のtemplates/account/login.htmlファイルに次の非表示の入力を追加します。
<input type="hidden" name="next" value="{{ request.GET.next }}" />
それでうまくいくはずです。ここにあるドキュメントを読んだ後、解決策を思いついた:http: //docs.djangoproject.com/en/dev/topics/auth/