2015-05-24 6 views
1

У меня работает настройка Django-Allauth с дополнительными полями в моей регистрационной/регистрационной форме. С обязательными полями все в порядке, но мои проблемы начинаются, когда я пытаюсь добавить некоторые ДОПОЛНИТЕЛЬНЫЕ поля в мою регистрационную форму.Django-Allauth: Необязательные поля в форме регистрации

Мой settings.py:

ACCOUNT_SIGNUP_FORM_CLASS = 'myapp.forms.RegistrationForm' 

forms.py:

class RegistrationForm(forms.ModelForm): 

    category = forms.ChoiceField(choices=CATEGORY_CHOICES) 
    password1 = forms.CharField(widget=forms.PasswordInput(), label="Password") 
    password2 = forms.CharField(widget=forms.PasswordInput(), 
          label="Password (again)" 
          ) 
    company = forms.CharField() 

    .... 
    class Meta: 
     model = User 
     fields = ('email', 'first_name', 'last_name',) 

    def signup(self, request, user): 
      category = self.cleaned_data['category'] 
      company = self.cleaned_data['company'] 
      person = UserProfile(user=user, category=category,) 
         company=company,) 
      person.save() 

models.py:

class UserProfile(models.Model): 
... 
    user = models.OneToOneField(User, related_name='profile', 
          verbose_name=_('user')) 
    company = models.CharField(max_length=100, blank=True, null=True, 
          verbose_name=_('company')) 
User.profile = property(lambda u:  UserProfile.objects.get_or_create(user=u)[0] 

Таким образом, поле категории является обязательным, и это нормально , Но как я могу разместить поле компании как необязательное поле?

ответ

Смежные вопросы