Python DJANGO表单在用户配置文件注册中添加电话号码

Python DJANGO表单在用户配置文件注册中添加电话号码,python,django,django-models,django-views,django-forms,Python,Django,Django Models,Django Views,Django Forms,因此,我目前的问题是,我目前有一个表单来创建一个用户,我们现在正在为此添加一个电话号码选项。它目前正在创建用户和用户配置文件,但用户配置文件没有保存电话号码。我唯一能够获得它的方式是通过django管理页面手动 我尝试了一些变化,但没有一个到目前为止,我感谢任何帮助,我可以得到 #这是我的表格 class UserRegisterForm(UserCreationForm): email = forms.EmailField() class Meta: model

因此,我目前的问题是,我目前有一个表单来创建一个用户,我们现在正在为此添加一个电话号码选项。它目前正在创建用户和用户配置文件,但用户配置文件没有保存电话号码。我唯一能够获得它的方式是通过django管理页面手动

我尝试了一些变化,但没有一个到目前为止,我感谢任何帮助,我可以得到

#这是我的表格

class UserRegisterForm(UserCreationForm):
    email = forms.EmailField()
    class Meta:
        model = User
        fields = ['username', 'email', 'password1', 'password2']
        #fields = UserCreationForm.Meta.fields+ ('username', 'email', 'password1', 'password2')
        
    def clean(self):
        email = self.cleaned_data.get('email')
        username = self.cleaned_data.get('username')
        if email and User.objects.filter(email=email).exclude(username=username).exists():
            raise forms.ValidationError('Email addresses must be unique.')
        return super().clean()


class UserProfileForm(forms.ModelForm):
    class Meta:
        model = UserProfile
        fields = ['phone_number']
这是我的观点

def register(request):
    if request.method == 'POST':
        form = UserRegisterForm(request.POST)
        profile_form = UserProfileForm(request.POST) #added
        if form.is_valid() and profile_form.is_valid(): #addded profile form
            form.save()
            profile_form.save() #added
            messages.success(request, 'Account created!')
            return redirect('login')
    else:
        form = UserRegisterForm()
        profile_form = UserProfileForm() #added

    return render(request, 'user/register.html', {'form': form, 'profile_form': profile_form})
这是我的register.html

    <form method="post">
      {% csrf_token %}
      <fieldset class="form-group">
        <legend class="border-bottom mb-4">Register</legend>
        {{ form|crispy }}
        <!-- {{ profile_form.as_p }} -->
      </fieldset>
      <div class="form-group">
        <button type="submit" class="btn btn-outline-info">Sign Up</button>
      </div>
    </form>
class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
    qr_token = models.CharField(max_length=24, unique=True)
    image = models.ImageField(default='default.png', upload_to='profile_pics')
    date_created = models.DateTimeField(auto_now_add=True)
    is_before_user = models.BooleanField(default=True)
    phone_number = PhoneField(null=True, help_text='Contact phone number')
#there is more of it but the rest isnt relevent