用于在基于表单的环境中编辑和发布任意json数据的django应用程序。
mohawk-data-platform的Python项目详细描述
mohawk data platform是一个django应用程序,用于在基于表单的环境中编辑和发布任意json数据。
功能
- 使用自定义字段和验证定义结构化模型。
- 使用django管理界面创建、编辑和更新实例定义的模型。
- 将模型分组到应用程序中以进行批量访问。
- 通过简单的json api访问模型、实例和应用程序。
- 通过cors和jsonp跨源api请求。
安装
- 查看最新的Mohawk数据平台版本,并复制或符号链接 data目录到PYTHONPATH中。如果使用pip,运行 pip install mohawk-data-platform。
- 将'data'添加到INSTALLED_APPS设置中。
- 将url(r"^",include("data.urls",namespace="data")),添加到urls.py文件中。
- 安装并激活django管理站点(如果还没有)。
管理用法
mohawk数据平台的大部分功能可以在管理ui中找到。基本工作流程是:
- 创建一个Model,定义至少一个Field。
- 创建该模型的Instance。
- 或者,创建一个Application。
- 编辑模型,并将其添加到您创建的应用程序中。
添加到系统中的任何数据都将通过api端点公开可用。
模型字段参考
添加到模型中的字段采用许多可选的配置参数,作为json文档提供。下面列出了可用字段及其配置选项。
接受选择的字段希望它们作为[value, label]选项列表提供:
{ "choices": [ ["#ff0000", "Red"], ["#0000ff", "Green"], ["#00ff00", "Blue"] ] }
文本
一行Unicode文本。
{ "required": true, "choices": null }
整数
整数。
{ "required": true, "choices": null }
浮子
浮点数
{ "required": true }
日期
日期值。
{ "required": true }
时间
时间值。
{ "required": true }
日期时间
日期和时间的组合值。
{ "required": true }
布尔值
“真/假”复选框。
{}
文件
上传的文件。
{ "required": true }
长文本
多行Unicode文本。
{ "required": true }
型号
对模型实例的引用。
{ "required": true, "model_id": "<model_id>" // The type of instance being referenced. }
多模型
对模型的多个实例的引用。
{ "required": true, "model_id": "<model_id>" // The type of instance being referenced. }
API端点
获取/<;模型id>;.json
返回给定模型的所有联机实例:
{ "status": "OK", "message": "Instances of Your Model were successfully loaded.", "instances": [ { "_date_created": "<timestamp>", "_date_modified": "<timestamp>", "_id": "<instance_id>", "_model": "<model_id>", "<field_name>": "<field_value>", ... }, ... ] }
获取/<;模型id>;/<;实例id>;.json
返回给定的实例:
{ "status": "OK", "message": "Instances of <model_name> were successfully loaded.", "instance": { "_date_created": "<timestamp>", "_date_modified": "<timestamp>", "_id": "<instance_id>", "_model": "<model_id>", "<field_name>": "<field_value>", ... } }
获取/a/<;应用程序id>;.json
返回给定应用程序中的所有联机实例:
{ "status": "OK", "message": "Instances within application <application_name> were successfully loaded.", "instances": [ { "_date_created": "<timestamp>", "_date_modified": "<timestamp>", "_id": "<instance_id>", "_model": "<model_id>", "<field_name>": "<field_value>", ... }, ... ] }