【发布时间】:2010-07-02 21:04:49
【问题描述】:
我正在 python 中构建一个表单类,用于生成和验证 HTML 表单。每个字段都有一个关联的小部件,用于定义字段的呈现方式。
创建小部件时,它会传入一个(默认)值,以便它知道在第一次渲染时要显示什么。提交表单后,小部件被要求输入值。我将此委托给小部件,而不是仅仅从 POST 数据中获取它,因为小部件可能包含多个 HTML 输入(想想月/日/年选择器)。只有小部件知道如何将这些组合成一个值。
问题是,我不知道我是否应该让小部件始终接受字符串,并始终返回字符串以保持一致性,或者接受并返回与其目的一致的数据类型(即,日期选择器可能应该返回一个 DateTime 对象)。
我的表单课程背后的理念是“混搭”。你选择你想要的小部件,以及你想在上面运行的验证器/格式化程序/转换器。我想这有助于“使用字符串”并让开发人员决定数据类型后记,但是......我想不出一个好的但是。您预计这种方法会出现什么问题吗?
【问题讨论】: