gpt4 book ai didi

python - 我的小部件应该接受/返回什么数据类型?

转载 作者:太空宇宙 更新时间:2023-11-04 01:42:49 25 4
gpt4 key购买 nike

我正在用 Python 构建一个表单类,用于生成和验证 HTML 表单。每个字段都有一个关联的小部件,它定义了该字段的呈现方式。

创建小部件时,它会传入一个(默认)值,以便它知道第一次呈现时要显示什么。提交表单后,系统会要求小部件提供一个值。我将其委托(delegate)给小部件而不是仅仅从 POST 数据中获取它,因为小部件可能包含多个 HTML 输入(想想月/日/年选择器)。只有小部件知道如何将这些组合成一个值。

问题是,我不知道是否应该让小部件始终接受一个字符串,并始终返回一个字符串以保持一致性,或者接受并返回与其目的一致的数据类型(即,日期选择器可能应该返回一个 DateTime 对象)。

我的表单类(class)背后的理念是“混搭”。你选择你想要的小部件,以及你想要在其上运行的验证器/格式化器/转换器。我想这有助于“使用字符串”并让开发人员决定后记的数据类型,但是......我想不出一个好的但是。您预计这种方法会出现什么问题吗?

最佳答案

虽然简单地传递字符串似乎是一个有用的想法,但我认为您会发现它并不像您希望的那样有效。

想想日期示例——不是传递 date 对象,而是传递格式为 "2010-01-01"的 str 。为了使用该数据,该类的每个用户不仅需要知道代表 datestr,还需要知道该字符串的格式。换句话说,你没有得到任何东西。更糟糕的是,您无法将 datetime 对象传递到小部件中(除非您采取额外步骤来处理这种情况)。

验证器或格式化器问题并不像您想象的那么大;您打算多久验证一次不代表日期的字符串,就好像它是一个日期一样?

关于python - 我的小部件应该接受/返回什么数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3169096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com