我正在使用 Django 2.2 和 django-allauth 来处理登录和注册,并使用 django-rest-auth 来通过以下方式启用身份验证使用 django-allauth 库的API。
为了处理注册,我编写了一个自定义视图
class CustomRegisterView(generics.CreateAPIView):
serializer_class = RegisterSerializer
permission_classes = register_permission_classes()
@sensitive_post_parameters_m
def dispatch(self, *args, **kwargs):
return super().dispatch(*args, **kwargs)
def get_response_data(self, user):
if allauth_settings.EMAIL_VERIFICATION == allauth_settings.EmailVerificationMethod.MANDATORY:
return {"detail": _("Verification e-mail sent.")}
return {"detail": _("Registration successful")}
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
user = self.perform_create(serializer)
headers = self.get_success_headers(serializer.data)
return Response(self.get_response_data(user),
status=status.HTTP_201_CREATED,
headers=headers)
def perform_create(self, serializer):
user = serializer.save(request=self.request)
complete_signup(self.request, user, allauth_settings.EMAIL_VERIFICATION, None)
return user
这处理所有注册流程,验证,发送信号等。
现在,我想从应用程序的其他部分(视图)手动创建用户帐户。
是否可以使用** CustomRegisterView 类创建帐户?**
我只是通过必填字段,并且用户已注册。