代码之家  ›  专栏  ›  技术社区  ›  Shefali

Django UserCreationForm扩展

  •  1
  • Shefali  · 技术社区  · 8 年前

    class UserCreationForm(UserCreationForm):
        email = EmailField(label=_("Email address"), required=True,
            help_text=_("Required."))
        city= forms.CharField(label= _("City"),max_length=20, required=True)
        state= forms.CharField(label= _("State"),max_length=20, required=True)
    
        class Meta:
            model = User
            fields = ("username", "email", "password1", "password2","city","state")
    
        def save(self, commit=True):
            user = super(UserCreationForm, self).save(commit=False)
            user.email = self.cleaned_data["email"]
            user.city = self.cleaned_data["city"]
            user.state = self.cleaned_data["state"]
    
            if commit:
                user.save()
            return user
    
    2 回复  |  直到 8 年前
        1
  •  2
  •   Bestasttung    8 年前

    是的,就像对待电子邮件一样:

    class UserCreationForm:
        a_field = WhateverField(whatever='whatever'...)
    
        class Meta:
            model = User
            fields = ("username", "email", "password1", "password2")
    

    该字段现在已添加到表单中。

        2
  •  1
  •   bhatt ravii    8 年前

    例如

    class UserForm(forms.ModelForm):
        class Meta:
            model = User
            fields = ['username','name', 'email', 'phone', 
                  'address','city','state', 'first_time']
    

    class UserForm(forms.Form):
          name = forms.CharField(label= _("Name"))
          address = forms.CharField(label=_("Address"))
          etc.