Forms
有Fields
。 Fields
有一个Widget
。如果省略Field
名称,则采用表单中指定的变量名称。例如,
MyForm(Form):
username = Field(name=None, widget=MyWidget(args))
字段名称将变为“用户名”。但是,在构建表单之前无法确定。在表单初始值设定项中设置field.name
属性,但是在已经构造了字段之后,它是否太可怕了?
同样,在表单初始化程序中设置一些field.widget.xxx
属性以“传递”在窗口小部件类中的各种函数中使用的一些变量是否太可怕了?或者我应该明确地将它们传递给每个函数调用?为什么呢?
答案 0 :(得分:3)
一些OO纯粹主义者可能会反对,但恕我直言,在其他类的实例中设置公共属性确实没有问题 - 最坏的情况是,如果稍后您发现实例需要在设置某些属性时采取某些操作,只需将属性转换为属性,以便在分配属性时自动调用“setter方法”(只需确保始终使用新样式类 - 例如通过继承自{ {1}}当一个类没有基础时 - 以便object
在你需要时正常工作! - 。)。