Forms
有Fields
, Fields
有一个value
。然而,他们只得到 value
提交表单后。
- 我应该如何存储这个值?我应该给每个字段一个值属性吗,
field.value
,- 将其保留为
None
发帖前,并填写后记? - 完全省略,动态添加?
- 将其存储在表单上,例如
form.data['field']
。 - 创建一个包装类
FieldWithData
以避免任何不一致的状态(如果您有这种类型的对象,您知道它有数据)并允许我在初始化程序中设置数据而不是直接访问属性(尽管我猜这与使用 setter 没有什么不同) )
- 将其保留为
- 我应该如何通过
Form
提供对现场数据的访问目的?选项:-
form.fields['name'].value
(目前内部存储方式) -
form.data['field']
(创建一个代理“数据”类来检索现场的真实数据,或者重新安排内部结构以实际存储数据,如下所示) -
form.field.value
- 看起来相当不错,但随后我有两个对同一字段的引用,一个为form.field
一个为form.fields['field']
我内部需要它,以便我可以迭代它们
-
太多的设计决策。使我抓狂。这就是单独完成一个项目的糟糕之处。
最佳答案
这实际上取决于您如何与相关结构交互。您是否在为 Form
和 Field
对象赋值之前对其进行操作?您是否需要频繁迭代所有给定的Fields
?提交后您还需要表单
吗?等等
我建议编写一些/全部使用 Form
的代码,并弄清楚您想要如何与 Form
数据交互,以及您理想的界面是什么样的。
关于python - 在哪里存储现场数据以及如何提供对其的访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3183431/