def register(self, request, **kwargs): """ Create and immediately log in a new user. """ username, email, password = kwargs['username'], kwargs['email'], kwargs['password1'] user = User() user.username = username user.email = email user.set_password(password) user.save() # authenticate() always has to be called before login(), and # will return the user we just created. new_user = authenticate(username=username, password=password) login(request, new_user) return new_user