另一个表单生成库
项目描述
A Python HTML表单库。它运行于Python 2.6、2.7、3.3、3.4和3.5。
请参阅http://docs.pylonsproject.org/projects/deform/en/latest/以获取文档。
请参阅https://github.com/collective/deform以获取开发中的版本。
状态
这是一个分支,可以由collective维护。
PyPI上的新版本或发布将以“deform2000”的名称进行。
2.0.1 (2016-06-02)
首次注册未正常工作。
添加有关此分支的评论。
2.0 (2016-06-02)
选择性地添加setuptools_git作为setup_requires #273。
更新bootstrap到3.3.6。
修复dateparts.pt和datetimeinput.pt,以适应bootstrap v3.0.3中的更改。(罪魁祸首是boostrap提交853b69f。)
通过使用pstruct模式期望的固定名称“date”使dateinput恢复正常工作。请参阅https://github.com/Pylons/deform/pull/221。
将ISO8601_REGEX导入更改为匹配colander中的更改
添加对Python 3.4和PyPy3的支持。
在反序列化具有无效类型的损坏或恶意pstruct时,引发“Invalid”错误而不是其他错误。请参阅https://github.com/Pylons/deform/pull/203
重新添加时间小部件。
修复了DateInputWidget中的错误。请参阅https://github.com/Pylons/deform/pull/192。
确保None不会在渲染的模板输出中显示为CSS类名。请参阅https://github.com/Pylons/deform/pull/191
我们现在使用虚线名称(例如deform-seq)。以下是变更的完整列表
Old New deformClosebutton deform-closebutton deformFileupload deform-file-upload deformFormFieldset deform-form-fieldset deformInsertBefore deform-insert-before deformOrderbutton deform-orderbutton deformProto deform-proto deformReplaces deform-replaces deformSeq deform-seq deformSeqAdd deform-seq-add deformSeqContainer deform-seq-container deformSeqItem deform-seq-item deformSet-item deform-set-item errorMsg error-msg errorMsgLbl error-msg-lbl
修复了嵌套序列中按钮的处理。请参阅https://github.com/Pylons/deform/issues/197
2.0a2(2013-10-18)
PasswordWidget和CheckedPasswordWidget增加了一个名为redisplay的额外参数/属性,它控制涉及此类字段的表单验证失败时会发生什么。如果redisplay为True(默认值),则当表单在验证失败后重新渲染时,密码将被重新渲染到表单中。如果redisplay为False,则密码不会重新渲染到表单中。默认值为False,这意味着从本次发布开始,密码不会重新显示;这改变了与以前版本相关的默认行为。出于安全措施(值最终会出现在浏览器历史记录中),在验证失败时默认不会重新显示密码字段中输入的值。使用PasswordWidget(redisplay=True)或CheckedPasswordWidget(redisplay=True)可以使这些小部件在验证失败时重新显示密码,与旧行为相匹配。
当使用默认的Chameleon模板渲染器时,模板名称现在可以是“资产规范”,例如mypackage:subdir1/subdir2/mytemplate.pt,而不是相对于搜索路径的无扩展名路径。当模板名称指定为资产规范时,使用pkg_resources.resource_filename API将它们解引用为实际文件路径。
2.0a1(2013-10-05)
这是Deform v2的alpha版本。Deform v2与Deform v1不兼容。它需要使用Twitter Bootstrap v3,而Deform v1则不需要Bootstrap。
有一个演示网站展示了Deform 2的实际应用,网址为http://deform2demo.repoze.org。
Deform 1和Deform 2将继续维护。如果您希望继续使用Deform 1,因为您无法升级,或者无法依赖Bootstrap 3,请将您的deform分布要求固定在2.0a1以下,例如deform<=1.999。
这个第一个alpha版本缺少正式的文档更新。抱歉,我们急需将发布版放到PyPI上,因为没有发布版会阻碍许多依赖于v2+更改的平台和应用程序的开发。文档更新将在未来的alpha/beta发布周期内进行。然而,以下是需要在Deform 2的最终版本中解决的问题的已知问题列表,以及有关新功能和迁移说明的信息。您还可以使用http://deform2demo.repoze.org的演示网站来推断事情发生了哪些变化,以及您需要在页面中包含哪些CSS和JavaScript资源以使用此版本。
待办事项
文档
决定如何解释form.css(包含在要求中或?)
横向/内联表单 + 结构性事物
模板的资产:变形应该提供一个工具来解决这个问题吗?
支持所有文本输入的占位符(以及required/maxlength,参见https://github.com/Pylons/deform/pull/116)
显示只读字段的帮助块?
可能只读应该成为模式的一个属性,而不是小部件的属性。
考虑“style”/“css_class”在多输入小部件上应该应用于容器还是每个元素。
审计使用e.g. string:${css_class},以免在渲染输出中看到意外的class="None"。
对mapping_item输入_prepend/input_append进行某种测试。
目前描述同时出现在标签的提示和帮助块中。也许应该将这两者分开,或者至少不要使用相同的值显示它们。
将CSS类名规范化为deform-foo而不是deformFoo。
sequence_of_sequences:处理关闭/顺序按钮的js必须不那么杂乱(它使用例如“find”);症状:按钮出现/消失,作用于错误的元素等……2013/10/05无法复制,但仍然相信可能存在问题,但也许iElectric修复了它。
希望得到
结构化小部件(mapping_item.pt) - 我们需要它吗?或者不需要,或者是什么?+添加一个示例
添加 prepend/append t.bootstrap 内容
https://github.com/Pylons/deform/pull/116#issuecomment-23210460
按小部件类型分组示例
使ajax示例更符合用户体验
在面板标题中放置拖动句柄:https://github.com/Pylons/deform/issues/180
新功能
mapping_item小部件中的input_prepend/input_append。
field.parent
field.get_root
checkboxchoice和radiochoice小部件的inline属性(参见https://github.com/Pylons/deform/pull/182)
迁移说明
从RichTextWidget中删除了过时的height, width, skin, theme参数(使用“options”代替)
从SequenceWidget中删除了过时的render_initial_item
删除了过时的deform.Set(使用colander.Set代替)
DateInputWidget将参数dateFormat重命名为format(dateFormat现在不受支持)。
DateTimeInputWidget现在作为两个字段渲染:一个用于日期,一个用于时间,使用pickadate。
我们不再尝试在任何浏览器上使用原生的datetimeinput小部件,因为其支持非常不稳定。
DateTimeInputWidget现在有两个选项:date_options和time_options,而不是单个options字典。这些选项分别是pickadate日期/时间选项。
现在不可能执行DateTimeWidget().options[‘a’] = ‘foo’或DateTimeWidget().date_options[‘a’] = ‘foo’。如果您需要强制更改选项,请设置整个.options/.date_options字典。
将TypeaheadInputWidget合并到AutocompleteInputWidget中(删除了delay参数)
AutocompleteInputWidget现在接受“values”的字符串类型
小部件不再接受“size”(除SelectWidget外,它表示下拉框的大小),而是使用style="width: x"),
get_widget_resources现在返回资产规范而不是deform-static-relative路径
deform 2.0要求用户手动加载TB 3.0和jquery 2.0
必填标签不再在自身内部插入一个 <span class="req" > 的星号。相反,如果字段是必填的,则标签元素具有required类;使用form.css将其显示为星号。
AutocompleteInputWidget的min_length现在默认为1(以前是2)