2009-06-24 75 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) 
相關問題