django的动态形式
ddf的Python项目详细描述
这个应用程序在客户端和服务器上都提供了一个动态表单类 侧面。例如,如果希望删除某个字段(如果另一个字段具有 特定值或根据设置的条件筛选选项。当提交为 tested在主机上。
支持pypy、python 2.7、3.4、django 1.8+。
示例
例如,如果您的表单只允许支持 选定:
fromddfimportshortcutsasddfclassTestForm(ddf.FormMixin,forms.Form):platform=forms.ChoiceField(choices=(('Linux','Linux'),('Windows','Windows'),))service=forms.ChoiceField(choices=(('Format','Format'),('Support','Support')))# Remove the 'Support' choice from the 'service' field if 'platform'# value is 'Windows':_ddf=dict(service=[ddf.RemoveChoices(['Support'],ddf.ValueIs('platform','Windows'),)])
在本例中,我们创建一个配置字段并添加removeChoice 在平台字段值为 是窗户。
配置字段能够将配置呈现为json dict, 使用表单前缀呈现。那么,每个 动作和条件对象在javascript中实例化,允许动态 用户体验。
配置的结构如下:对于每个字段,您可以添加 操作,为每个操作列出一个条件列表。当用户更改字段时, 对每个动作的条件进行评估,如果它们都通过,则该动作为 已应用,否则为未应用。这里的可能性很大。
双许可证
发布时,未经授权的Creative Commons Attribution Non-Commercial 3.0 许可证,但有商业许可证,请联系我的用户名 @如果你被问到的话。
请注意,这笔钱会流向你的实验室,这是一个非盈利基金会。 黑客在使我们的社会更加公平和自由的过程中的作用 利用他们的技能发展当地经济并把互联网还给 人。状态
这个项目还很年轻,但是基本的构建块已经存在了。我们应该 能够轻松添加动作和条件。
为什么
多年来我们一直在不断地发明这个。以及first time I invented this was in 2009 老实说,那时我的python、django和javascript技能相当薄弱。 从那以后,我看到有用户问我这个问题,付钱给我当顾问, 制作pull requests to have this in a per-app basis。是关于 时间到了,我们有一个通用的解决方案,适用于所有领域,而不是 只是我们维护的应用程序之一。