python - 在哪里存储现场数据以及如何提供对其的访问?

标签 python design-patterns

FormsFields , Fields有一个value 。然而,他们只得到 value提交表单后。

  1. 我应该如何存储这个值?我应该给每个字段一个值属性吗,field.value ,
    • 将其保留为 None发帖前,并填写后记?
    • 完全省略,动态添加?
    • 将其存储在表单上,​​例如 form.data['field']
    • 创建一个包装类 FieldWithData以避免任何不一致的状态(如果您有这种类型的对象,您知道它有数据)并允许我在初始化程序中设置数据而不是直接访问属性(尽管我猜这与使用 setter 没有什么不同) )
  2. 我应该如何通过 Form 提供对现场数据的访问目的?选项:
    • form.fields['name'].value (目前内部存储方式)
    • form.data['field'] (创建一个代理“数据”类来检索现场的真实数据,或者重新安排内部结构以实际存储数据,如下所示)
    • form.field.value - 看起来相当不错,但随后我有两个对同一字段的引用,一个为 form.field一个为 form.fields['field']我内部需要它,以便我可以迭代它们

太多的设计决策。使我抓狂。这就是单独完成一个项目的糟糕之处。

最佳答案

这实际上取决于您如何与相关结构交互。您是否在为 FormField 对象赋值之前对其进行操作?您是否需要频繁迭代所有给定的Fields?提交后您还需要表单吗?等等

我建议编写一些/全部使用 Form 的代码,并弄清楚您想要如何与 Form 数据交互,以及您理想的界面是什么样的。

关于python - 在哪里存储现场数据以及如何提供对其的访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3183431/

相关文章:

python - 使用 StreamingHttpResponse 流式传输和下载大型 CSV 文件

c# - 实现抽象工厂模式的正确方法?

python - 根据第一个表记录合并两个表

java - 跳过可选的 bean 引用属性

java - 基于单个值使用不同的类

java - java中的程序,逐行读取数据并以表格形式显示数据以及行总计、列总计和总计

java - 如何修复客户端代码以便通过组合实现代码重用?

python - 为什么无法使用步骤更改 Python 列表中的项目?

python - 将 PIL numpy 3d 数组转换为 2d 亮度值

java - 在一行中为多个变量分配多个值