2013-03-14 65 views
0

我寫了一個表單字段這樣Django的:定義自己的表單字段

//forms.py

hostAdress = forms.CharField(required = False, 
          label = ('#content'), 
          initial = ('#content')) 
adminHostAdress = hostAdress 
userHostAdress = hostAdress 

這是正確顯示,但是當要保存的形式,我來了用填充的字段形成後面,沒有其他事情發生。

當我寫

adminHostAdress = forms.CharField(required = False, 
            label = ('#content'), 
            initial = ('#content')) 
userHostAdress = forms.CharField(required = False, 
           label = ('#content'), 
           initial = ('#content')) 

所有的作品,但我重複自己,我有更多的這些領域,我想一次寫入。

有什麼想法?

回答

0

你的第一個例子是簡單地分配相同的CharField兩個獨立的表單變量,所以基本上他們都共享Django的表單域相同的實例。如果你願意,你可以嘗試如下:

class MyForm(forms.Forms): 
    def __init__(self, *args, **kwargs): 
     super(MyForm, self).__init__(*args, **kwargs) 
     for field_name in ["adminHostAdress", "userHostAdress", ...]: 
      self.fields[field_name] = forms.CharField(
       required = False, 
       label = ('#content'), 
       initial = ('#content')) 

但這是不太可讀的IMO,並不特別節省你很多時間。

+0

OK,那討厭的;)有沒有辦法讓表單字段中的兩個獨立的情況下,容易嗎? – Bubbleboy 2013-03-14 13:52:33