Skip to content

Instantly share code, notes, and snippets.

@chrisjakuta
Created April 10, 2021 02:06
Show Gist options
  • Save chrisjakuta/aa181dc5aaf4639821b6dcb1eadc8a4b to your computer and use it in GitHub Desktop.
Save chrisjakuta/aa181dc5aaf4639821b6dcb1eadc8a4b to your computer and use it in GitHub Desktop.
A Django view that will create a new user.
class UserCreateView(generics.CreateAPIView):
parser_class = (FileUploadParser, FormParser, MultiPartParser)
serializer_class = UserFrontendSerializer
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
headers = self.get_success_headers(serializer.data)
token, created = Token.objects.get_or_create(user=serializer.instance)
email = SendIntroSignUpEmailModel.objects.create_sendemailmodel(target=serializer.instance)
mail = SendEmailMessage(email=email)
mail.send()
return Response({
'token': token.key,
}, status=status.HTTP_201_CREATED, headers=headers)
@chrisjakuta
Copy link
Author

This view will create a new user, and send an email with a six digit code to the user's email address given, and returns a token to the client, but does not log the user in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment