def register(self, request, extra_context=None, token_generator=registration_token_generator):
		if request.user.is_authenticated():
			return HttpResponseRedirect(request.node.get_absolute_url())
		
		if request.method == 'POST':
			form = self.registration_form(request.POST)
			if form.is_valid():
				user = form.save()
				current_site = Site.objects.get_current()
				context = {
					'link': self.make_confirmation_link('register_confirm', token_generator, user, request.node, secure=request.is_secure()),
					'user': user,
					'site': current_site,
					'request': request
				}
				self.send_confirmation_email('Confirm account creation at %s' % current_site.name, user.email, self.register_confirmation_email, context)
				messages.add_message(request, messages.SUCCESS, 'An email has been sent to %s with details on activating your account.' % user.email, fail_silently=True)
				return HttpResponseRedirect(request.node.get_absolute_url())
		else:
			form = self.registration_form()
		
		context = self.get_context()
		context.update(extra_context or {})
		context.update({
			'form': form
		})
		return self.register_page.render_to_response(request, extra_context=context)
Renders the :attr:`register_page` with an instance of :attr:`registration_form` in the context as ``form``. If the form has been submitted, sends a confirmation email using :attr:`register_confirmation_email` and the same context as :meth:`PasswordMultiView.password_reset`.
dataset/ETHPy150Open ithinksw/philo/philo/contrib/waldo/models.py/RegistrationMultiView.register