def form_valid(self, form): self.object = form.save(commit=False) self.object.is_active = False self.object.activation_code = random_string(32) current_site = Site.objects.get_current() url = reverse('activate-account', args=[self.object.activation_code]) full_activation_url = 'http://{0}{1}'.format(current_site, url) self.object.activation_code_expire = now() + timedelta(days=1) self.object.save() send_activation_link( full_activation_url, form.cleaned_data['username']) notify_success(self.request, message=u''' Регистрация прошла успешно. Вам была отправлена ссылка для активации аккаунта. Проверьте почту и активируйте ваш аккаунт. ''') return super(RegistrationFormView, self).form_valid(form)
def get_slug(cls): while True: slug = random_string(cls.SLUG_LENGTH) if not cls.objects.filter(slug=slug).exists(): return slug