用于将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_xformseavdjango_digestuni_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提交。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java泛型和基类   ProcessBuilder或DefaultExecutor启动的“RunAs”子进程的java读取标准输出   java应用程序在尝试登录时突然停止   Java:神秘的Java未捕获异常处理程序[带代码]   java JavaFX NumberAxis自动范围无限循环   最新版本和旧版本冲突的java双Maven依赖关系   java如何导入带有部署变量类名的静态函数?   编译器构造不同的JDK更新会产生不同的Java字节码吗?   java无法在struts 1.1中上载任何超过250 MB大小的文件   java调整jcombobox下拉菜单的宽度   java如何在某些情况下忽略@SQLDelete注释   在Eclipse for Java EE developers edition中禁用HTML警告   java HttpUrlConnection重置请求属性   java@Provider资源未在rest应用程序中注册   java TOP N使用JPA连接   java在使用反射调用方法时区分int和Integer参数