DJANGO如何从窗体内部访问当前模型实例

2024-09-25 18:13:41 发布

您现在位置:Python中文网/ 问答频道 /正文

class EditAdminForm(forms.ModelForm):
    password = username.CharField(widget=forms.TextInput())
    password = forms.CharField(widget=forms.PasswordInput())
    password_confirm = forms.CharField(widget=forms.PasswordInput(), initial=???)

你可以看到我在这里想做什么。如何预填充pasword_confirm字段(它不是模型的一部分)。我很困惑。在


Tags: 模型usernameformspasswordtextinputwidgetconfirmclass
2条回答

您不能访问表单声明中的实例,因为在实例化之前没有实例。在

但是,如果您只想设置动态初始数据,请使用实例化上的initial参数执行此操作:

form = EditAdminForm(initial={'password':'abcdef'})

您可以在EditAdminForm中定义__init__方法。在

比如:

class EditAdminForm(forms.ModelForm):
    username = forms.CharField(widget=forms.TextInput())
    password = forms.CharField(widget=forms.PasswordInput())
    def __init__(self, initial_from, data=None, initial=None)
        sefl.fields['password_confirm'] = forms.CharField(widget=forms.PasswordInput(), initial=initial_from)

相关问题 更多 >