2013-03-14 64 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