please full error message
On Mon, Sep 10, 2018 at 12:48 AM V O <[email protected]> wrote:
> i currently try to "style" my registration form. in General i get the
> concept behind it but not at that point:
>
>
> This is how it's intendet to be (and not working):
>
> class RegistrationForm(UserCreationForm):
>> username = forms.CharField(required=True, label='Username',
>> widget=forms.TextInput(attrs={'class': 'class-one-input-fields'}))
>> password1 = forms.CharField(required=True, label='Password',
>> widget=forms.PasswordInput(attrs={'class': 'class-one-input-fields'}))
>> password2 = forms.CharField(required=True, label='Password
>> confirmation', widget=forms.PasswordInput(attrs={'class':
>> 'class-one-input-fields'}))
>> pubpgp = forms.CharField(required=True, label='Public PGP Key',
>> widget=forms.Textarea(attrs={'class': 'class-two-input-fields'}))
>> captcha = CaptchaField()
>>
>> def save(self, commit=True):
>> username = super(RegistrationForm, self).save(commit=False)
>> username.pubpgp = self.cleaned_data['pubpgp']
>>
>> if commit:
>> username.save()
>>
>> return username
>
>
> views.py:
>
> def signup (request):
>> if request.method == 'POST':
>> form = RegistrationForm(request.POST)
>> if form.is_valid():
>> form.save()
>> messages.add_message(request, messages.INFO, "Thanks for
>> you registration, you are now able to login.")
>> return redirect(reverse('post_list'))
>> else:
>> form = RegistrationForm()
>>
>> args = {'form': form}
>> return render(request, 'registration/signup.html', args)
>
>
> The error i get is:
>
> > AttributeError: Manager isn't available; 'auth.User' has been swapped
>> > for 'accounts.User'
>
>
> in my settings.py i set:
>
> > AUTH_USER_MODEL = 'accounts.User'
>
>
> This is the current working state:
>
> class RegistrationForm(UserCreationForm):
>> user = forms.CharField(required=True)
>>
>> class Meta:
>> model = User
>> fields = (
>> 'user',
>> 'password1',
>> 'password2',
>> 'pubpgp'
>> )
>>
>> captcha = CaptchaField()
>>
>> def save(self, commit=True):
>> user = super(RegistrationForm, self).save(commit=False)
>> user.pubpgp = self.cleaned_data['pubpgp']
>>
>> if commit:
>> user.save()
>>
>> return user
>
>
> User model of accounts:
>
> #User Model Manager
>> class UserManager(BaseUserManager):
>> def create_user(self, user, password=None):
>> """
>> Creates and saves a User with the given username and password.
>> """
>> if not user:
>> raise ValueError('Error: The User you want to create must
>> have a username, try again')
>>
>> new_user = self.model(
>> user=self.model.normalize_username(user)
>> )
>>
>> new_user.set_password(password)
>> new_user.save(using=self._db)
>> return new_user
>>
>> def create_staffuser(self, user, password):
>> """
>> Creates and saves a staff user with the given username and
>> password.
>> """
>> new_user = self.create_user(
>> user,
>> password=password,
>> )
>> new_user.staff = True
>> new_user.save(using=self._db)
>> return new_user
>>
>> def create_superuser(self, user, password):
>> """
>> Creates and saves a superuser with the given username and
>> password.
>> """
>> new_user = self.create_user(
>> user,
>> password=password,
>> )
>> new_user.staff = True
>> new_user.admin = True
>> new_user.save(using=self._db)
>> return new_user
>>
>>
>> class User(AbstractBaseUser):
>>
>> #User fields
>> user =
>> models.CharField(verbose_name='username',max_length=30,unique=True)
>> bio = models.TextField(max_length=5000, blank=True, null=True)
>> pubpgp = models.TextField(blank=True, null=True)
>> avatar = fields.ImageField(upload_to='avatar', blank=True,
>> null=True, dependencies=[
>> FileDependency(processor=ImageProcessor(
>> format='JPEG', scale={'max_width': 350, 'max_height':
>> 350}))
>> ])
>>
>> #Account typs
>> active = models.BooleanField(default=True)
>> staff = models.BooleanField(default=False) # a admin user; non
>> super-user
>> admin = models.BooleanField(default=False) # a superuser
>> # notice the absence of a "Password field", that's built in.
>>
>> USERNAME_FIELD = 'user'
>> REQUIRED_FIELDS = [] # Username & Password are required by
>> default.
>>
>> def get_full_name(self):
>> # The user is identified by their Username ;)
>> return self.user
>>
>> def get_short_name(self):
>> # The user is identified by their Username address
>> return self.user
>> def __str__(self):
>> return self.user
>>
>> def has_perm(self, perm, obj=None):
>> """Does the user have a specific permission?"""
>> # Simplest possible answer: Yes, always
>> return True
>>
>> def has_module_perms(self, app_label):
>> """Does the user have permissions to view the app
>> `app_label`?"""
>> # Simplest possible answer: Yes, always
>> return True
>>
>> @property
>> def is_staff(self):
>> """Is the user a member of staff?"""
>> return self.staff
>>
>> @property
>> def is_admin(self):
>> """Is the user a admin member?"""
>> return self.admin
>>
>> @property
>> def is_active(self):
>> """Is the user active?"""
>> return self.active
>>
>> objects = UserManager()
>
>
> i guess that i have to pass the User model into this form somehow. Any
> idea about the syntax?
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/ad1df517-48ca-4379-913c-e94f32cc063f%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/ad1df517-48ca-4379-913c-e94f32cc063f%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/CAHV4E-fB5zz7%2B6F%3DV8fONt5%2BbQntNqvH%2B_S_ycQCDT4gqwuF4A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.