我写了一个像这样的表单字段
// 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 :(得分: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,并没有特别节省你的时间。