用于将xforms和sms提交到rapidsms的交互式表单生成器
rapidsms-xforms的Python项目详细描述
rapidsms xforms
rapidsms xforms应用程序提供了一个基于web的交互式表单生成器。创建的表单支持通过手绘格式的sms、标准xform http帖子或结构化sms提交给它们的数据。应用程序可以选择使用xforms快速构建系统原型,甚至将其用作主要接口,使用django信号对新提交的内容执行更复杂的逻辑。
不同的功能
- 用于生成表单的交互式Web用户界面
- 灵活的约束体系结构,允许用自定义错误消息< /LI>验证输入
- 能够通过手工输入的短信或xform格式的http帖子提交表单
- 显示提交的表单并由管理员编辑值
- 信号架构,允许您为提交的表单插入自己的处理程序
- 与android xforms客户端odk collect集成
- 完整文档可在以下位置找到:
- http://readthedocs.org/docs/rapidsms-xforms/en/latest/
- 官方源代码库是:
- http://www.github.com/nyaruka/rapidsms-xforms
- 显示此应用程序正在使用的小视频:
- http://www.youtube.com/watch?v=PyjEruT5uoU
- 由尼亚鲁卡有限公司根据联合国儿童基金会合同建造:
- http://www.nyaruka.com
- 您可能需要检查每个版本的更改列表的历史记录:
- http://github.com/nyaruka/rapidsms-xforms/blob/master/CHANGES.rst
奶酪店安装
您可以直接从奶酪店安装最新版本的rapidsms xforms库:
% pip install rapidsms-xforms
您还需要从github安装django eav,这还不在pypi中:
% pip install -e git+http://github.com/mvpdev/django-eav.git#egg=django-eav
从Github安装
您总是可以从github获得rapidsms xforms的最新版本。请注意,回购协议的提示不能保证是稳定的。您应该使用通过pip提供的verison,除非您有特定的理由不使用。
您可以使用pip-requires.txt文件安装需求:
% pip install -r pip-requires.txt
配置
要为项目启用xforms,请编辑settings.py以添加rapidsms_xforms、eav、django_digest和uni_form:
INSTALLED_APPS = ( "rapidsms", .. other apps .. "eav", "uni_form", "django_digest", "rapidsms_xforms" )
您可能还想将xforms添加为rapidsms的主要选项卡之一:
RAPIDSMS_TABS = [ ('rapidsms.views.dashboard', 'Dashboard'), .. other tabs .. ('xforms', 'XForms') ]
当你在settings.py中时,不妨将LOGIN_URL更改为与rapidsms的匹配:
# set our login url to match RapidSMS's url patterns LOGIN_URL = "/account/login"
最后,在项目的url中包含xforms url.py:
urlpatterns = patterns('', .. other url patterns .. ('', include('rapidsms_xforms.urls')) )
如果要将xforms与odk collect或其他xforms客户机一起使用,还需要在设置中指定主机:
XFORMS_HOST = 'www.rapidsms-server.com'
最后,将数据库与以下项同步:
% python manage.py syncdb
重新启动rapidsms后,将创建一个新选项卡,允许您创建、管理和查看表单及其提交。
开始
安装后,单击xforms选项卡。在这里您可以创建一个新表单。表单表示一个新的sms(或xform)端点,允许用户根据定义的字段向系统输入数据。尝试创建一个新表单,将其导航到survey,然后添加一个名为age的整数字段和一个名为name的字符串字段。
保存后,您可以以以下格式向系统提交短信:
survey +age 10 +name emily survey + age 30 +name monty python survey +name eric +age 15.4
您可以在提交的报告进入后查看它们,并根据需要进行编辑。
现在尝试向字段添加限制,无论是否需要,它们的最小值和最大值等。你会发现你可以很容易地定制错误信息。
您还可以使用xforms客户机提交调查,比如odk collect。xforms应用程序添加了适当的端点来发现可用的表单、将它们下载到设备并提交到服务器。这使得rapidsms成为简单表单的完整xforms端点,让您可以选择是通过富xforms客户端还是通过sms提交。