2009-06-24 76 views
0
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字段(这不是模型的一部分)。我很困惑。DJANGO - 您如何从表单中访问当前模型实例

+0

想你喜欢什么来填充字段? – 2009-06-24 20:51:59

+0

你已经声明了密码字段两次,我假设你的第一个字段是用户名。密码确认也是我只能认为是用户添加的内容,而不是自动预先填充。我很难想象你的用例。随意添加更多关于你想要做什么的信息,也许我们可以帮助你。 – Prairiedogg 2009-06-25 00:11:14

回答

2

您不能访问该实例的形式声明,因为没有一个,直到你实例化。

但是,如果你想要做的是建立动态的初始数据,这样做与initial参数上instantation:

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

您可以在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) 
相关问题