djangoで、LoginViewを継承して、ログイン後のリダイレクト先を、settings.pyで定義するのではなく、view側で定義しようとしています。ソースを見る限り、next_pageという変数に任意のurlを代入すれば、解決すると思うのですが、
継承したサブクラスから、親クラスのnext_pageに、代入するのができません。
色々試したのですが、なぜかうまくいきません。
お助け願います。
python
1class LoginView(SuccessURLAllowedHostsMixin, FormView): 2 """ 3 Display the login form and handle the login action. 4 """ 5 form_class = AuthenticationForm 6 authentication_form = None 7 next_page = None 8 redirect_field_name = REDIRECT_FIELD_NAME 9 template_name = 'registration/login.html' 10 redirect_authenticated_user = False 11 extra_context = None 12 13 @method_decorator(sensitive_post_parameters()) 14 @method_decorator(csrf_protect) 15 @method_decorator(never_cache) 16 def dispatch(self, request, *args, **kwargs): 17 """省略""" 18 19 def get_success_url(self): 20 return self.get_redirect_url() or self.get_default_redirect_url()
python
1class AccountLoginView(LoginView): 2 def get_success_url(self): 3 next_page = '任意のURL' → エラー 4 self.next_page = '任意のURL' → エラー 5 LoginView.next_page = '任意のURL' → エラー 6 return super().get_success_url()
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。