Я хочу, чтобы вошедшие в систему пользователи перенаправляли на индекс при попытке go к форме регистрации. Мне удается сделать это, но я не могу проверить регистрационную форму, когда пользователь, который не вошел в систему, заполняет ее.
У меня есть пользовательское представление для регистрации:
class SignupView(UserPassesTestMixin, FormView):
template_name = 'main/auth/register.html'
form_class = forms.UserCreationForm
def test_func(self):
self.request.user.is_authenticated
def handle_no_permission(self):
if self.request.user.is_authenticated:
return redirect('main:index')
return self.get(self.request)
def get_success_url(self):
redirect_to = self.request.GET.get`enter code here`('next', 'main:index')
return redirect_to
def form_valid(self, form):
response = super().form_valid(form)
form.save()
email = form.cleaned_data.get('email')
first_name = form.cleaned_data.get('first_name')
raw_password = form.cleaned_data.get('password1')
logger.info('Nuevo registro para email=%s a través de SignupView', email)
user = authenticate(email=email, password=raw_password)
login(self.request, user)
form.send_mail()
return response
методы test_func(self)
и handle_no_permission(self)
используются для проверки подлинности пользователя
, но я думаю, что проблема в return self.get(self.request)
Я использую его для загрузки формы, но когда я отправляю форму с правильными данными , это POST это, чтобы проверить это, но просто перезагрузить это снова. Я полагаю, мне нужно позвонить form_valid
, но я не могу понять, как.
Любая помощь будет оценена !! Привет