Python 在初始化时将值插入模型表单字段

Python 在初始化时将值插入模型表单字段,python,django,django-admin,django-forms,Python,Django,Django Admin,Django Forms,我想将名字、姓氏和电子邮件字段添加到用户配置文件管理页面。因此,您可以在UserProfile管理员中更改用户的所有详细信息,而无需转到其他页面来更改电子邮件和其他一些字段 这是我的自定义表单的外观: class CustomProfileForm(forms.ModelForm): first_name = forms.CharField(max_length=30) last_name = forms.CharField(max_length=30) email =

我想将
名字
姓氏
电子邮件
字段添加到用户配置文件管理页面。因此,您可以在UserProfile管理员中更改用户的所有详细信息,而无需转到其他页面来更改电子邮件和其他一些字段

这是我的自定义表单的外观:

class CustomProfileForm(forms.ModelForm):
    first_name = forms.CharField(max_length=30)
    last_name = forms.CharField(max_length=30)
    email = forms.EmailField()

    class Meta:
        model = UserProfile

    def __init__(self, *a, **k):
        super(CustomProfileForm, self).__init__(*a, **k)
        self.user_instance = None
        if self.instance:
            self.user_instance = self.instance.user

    def clean_first_name(self):
        self.user_instance.first_name = self.cleaned_data['first_name']

    def clean_first_name(self):
        self.user_instance.last_name = self.cleaned_data['laset_name']

    def clean(self):
        self.user_instance.save()
        return self.cleaned_data

class UserProfileAdmin(admin.ModelAdmin):
    form = CustomProfileForm

我不知道该怎么做才能完成这个。我需要将
用户\u实例
详细信息提供给适当的表单类。

要在init方法中设置初始值,可以使用字段字典

def __init__(self, *a, **k):
    # < snip >
    self.fields[ 'email' ].initial = self.user_instance.email
    # ... and any others
def\uuuuu init\uuuuu(self,*a,**k):
#
self.fields['email'].initial=self.user\u instance.email
# ... 还有其他的吗

我的意思是在显示表单时,将用户的电子邮件、姓氏和名字添加到文本框中。当前只有来自UserProfile对象的信息被添加到绑定表单中。我需要添加来自
Userprofile.user
实例的数据。哎呀,我没有将你的标题与你的问题正文结合起来。编辑。