为Django提供的动态表单
项目描述
此应用程序提供客户端和服务器端动态表单类功能。例如,如果您想在一个字段具有特定值时删除该字段,或者根据一组条件筛选选择项。当在master上测试提交时,演示会自动更新。
支持Pypy,Python 2.7,3.4,Django 1.8+。
示例
例如,如果您的表单仅允许在选择Linux时支持
from ddf import shortcuts as ddf
class TestForm(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'),
)
]
)
在这个例子中,我们创建了一个配置字段,并将RemoveChoices操作添加到服务字段中,条件是平台字段值为Windows。
配置字段能够将配置渲染为JSON字典,包括渲染时的表单前缀。然后,在JavaScript中实例化每个操作和条件对象,允许动态用户体验。
配置结构如下:对于每个字段,您可以添加一个动作列表,对于每个动作,可以添加一个条件列表。当用户更改字段时,将评估每个动作的条件,如果所有条件都通过,则应用该动作,否则取消应用。这里可能性很大。
双重许可
它以Creative Commons Attribution-NonCommercial 3.0 Unported License发布,但也可以获得商业许可,如果您感兴趣,请联系my username @ yourlabs.org。
请注意,资金将流向YourLabs,一个非营利性基金会,以促进黑客在使我们的社会更加公平和自由过程中的作用,同时利用他们的技能发展当地经济并将互联网返还给人民。
状态
该项目相对较新,但基本构建模块已经存在。我们应该可以轻松地添加动作和条件。
为什么
多年来我们一直在不断发明这个。第一次发明这个是在2009年,那时我的python、django和javascript技能相当薄弱。从那时起,我看到了用户提出这个问题,以顾问的身份向我支付费用,以及提交拉取请求,希望以应用程序为基础实现这一功能。现在是时候有一个适用于所有类型字段的通用解决方案,而不仅仅是维护的应用程序的字段了。
项目详情
ddf-0.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c5333ae01ecb349218580229933d4861addbd2b37371c49f670276a4c73be88b |
|
MD5 | c80ede3afbd71c3494c974f73d1587a9 |
|
BLAKE2b-256 | 5076c27665c20e526c9eff51c2ec613e909b46a7eb6f4146e44aa9618c42e3ea |