私は、独自のフォームと独自の検証ロジックを使用して、基本の django-allauth SignupView クラスを拡張する独自のクラス LocalSignup を作成しました。LOGIN_REDIRECT_URL
問題は、成功すると、ビューをsettings.pyの django 以外にリダイレクトできないことです。success_url
クラスベースのビューにフィールドを含めました。関数をオーバーライドしようとしましたget_success_url
(以下を参照)。また、を使用して成功時のリダイレクトを渡そうとしました LocalSignup.as_view(success_url="/add_account_select/")
。どれも機能していません。私が間違っていることについてのアイデアはありますか?
class LocalSignup(SignupView):
form_class = AllAuthUserForm
template_name = 'signup/social_login.html'
success_url = '/add_account_select/' #reverse_lazy('add_account_select')
def get_success_url(self):
return '/add_account_select/' #reverse('add_account_select')
def dispatch(self, request, *args, **kwargs):
# self.sociallogin = request.session.get('socialaccount_sociallogin')
return super(LocalSignup, self).dispatch(request, *args, **kwargs)
def form_valid(self, form):
ret = super(LocalSignup, self).form_valid(form)
### MY FORM VALIDATION LOGIC
return ret
def get_context_data(self, **kwargs):
ret = super(LocalSignup, self).get_context_data(**kwargs)
ret.update(dict(username=self.sociallogin.account.user.first_name,
photo_url=self.sociallogin.account.get_avatar_url() ))
return ret