我已使用用户创建表格进行用户注册。
class UserSignUpView(SuccessMessageMixin, FormView):
form_class = UserCreationForm
success_url = reverse_lazy('login')
template_name = 'core/signup.html'
success_message = 'Account created successfully.'
当用户已经登录时,它不应该看到注册表单
您可以使用基于类的视图的
dispatch()
方法来实现这些目标
from django.contrib.auth.mixins import LoginRequiredMixin
class UserSignUpView(LoginRequiredMixin, SuccessMessageMixin, FormView):
form_class = UserCreationForm
success_url = reverse_lazy('login')
template_name = 'core/signup.html'
success_message = 'Account created successfully.'
def dispatch(self, request, *args, **kwargs):
if self.request.user.is_authenticated:
return redirect('home') # Redirect to the home page or any other desired URL
return super().dispatch(request, *args, **kwargs)