Example #1
0
    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)
Example #2
0
 def get_slug(cls):
     while True:
         slug = random_string(cls.SLUG_LENGTH)
         if not cls.objects.filter(slug=slug).exists():
             return slug