通过管理界面将表单动态添加到站点。
django-dynamicforms的Python项目详细描述
通过管理界面将表单动态添加到站点。
使用django dynamicforms,您可以:
- 通过管理界面添加表单
- 通过管理界面添加(自定义)表单字段
- 以不同形式重用表单域
- 通过管理界面自定义预定义的表单
- 向动态表单的提交者发送个性化电子邮件
- 下载以csv格式发布到表单的数据
安装
- pip install django-dynamicforms
- 将'dynamicforms'添加到INSTALLED_APPS
- 将(r'^dynamicforms/',include('dynamicforms.urls'))添加到urls.py
依赖关系
django >= 1.3,html2text
设置
有两个可选设置:DYNAMICFORM_TYPES和DYNAMICFIELD_TYPES,它们分别定义自定义表单和字段类型。例如:
DYNAMICFORM_TYPES = { 'newsletter-subscription': { 'VERBOSE_NAME': 'Newsletter subscription', 'BASE_FORM': 'newsletters.forms.SubscriptionForm', 'SUCCESS_URL': '/newsletter/thanks/', 'TEMPLATE': 'dynamicforms/form.html', 'TAG_TEMPLATE': 'dynamicforms/_form.html', 'EMAIL_TEMPLATE': 'dynamicforms/notification.html', }, } DYNAMICFIELD_TYPES = { 'phone': { 'VERBOSE_NAME': 'Phone number', 'FIELD': 'phone.forms.PhoneField', 'HAS_CHOICES': False, 'DEFAULT': '', 'WIDGET': 'django.forms.TextInput' }, }
回复电子邮件来自settings.DEFAULT_FROM_EMAIL。 通知电子邮件是从settings.SERVER_EMAIL发送的。
用法
模板标签
每个表单都有自己的页面,但也可以包含在其他页面中,并带有:
{% load dynamicform_tags %} ... {% show_dynamicform %}
不过,它将始终发布到自己的url,并且必须在那里更正验证错误。
模板
用于呈现动态表单的模板可以由自定义表单类型重写,但默认为: -dynamicforms/form.html用于表单url -dynamicforms/_form.html用于模板标记 -dynamicforms/notification.eml用于通知电子邮件
愿望列表
- 调整(预定义)基本表单字段的标签/帮助文本/..
- 更好的数据报告
- 与消息框架的可选集成
- 动态向导
- 更好/更多的测试