JS 框架能够基于(django)rest api 选项生成表单

Posted

技术标签:

【中文标题】JS 框架能够基于(django)rest api 选项生成表单【英文标题】:JS Framework able to generate forms based on (django) rest api OPTIONS 【发布时间】:2014-09-13 15:15:04 【问题描述】:

我正在使用 Django REST 框架。 使用可浏览 API 时,单击 OPTIONS 按钮后,我会看到漂亮的字段定义和资源允许的操作,例如下面的这个用户资源:

HTTP 200 OK
Content-Type: application/json
Vary: Accept
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS


    "name": "XSpot User Detail", 
    "description": "", 
    "renders": [
        "application/json", 
        "text/html"
    ], 
    "parses": [
        "application/json", 
        "application/x-www-form-urlencoded", 
        "multipart/form-data"
    ], 
    "actions": 
        "PUT": 
            "url": 
                "type": "field", 
                "required": false, 
                "read_only": true
            , 
            "mail_sent": 
                "type": "boolean", 
                "required": false, 
                "read_only": false, 
                "label": "mail sent"
            , 
            "email": 
                "type": "email", 
                "required": true, 
                "read_only": false, 
                "label": "email address", 
                "max_length": 255
            
        
    

问题:是否有任何 JS 框架能够利用此元信息生成表单?

【问题讨论】:

有点 Angular 的味道...davidmburke.com/2014/07/06/… 哦,嘿,感谢您链接该帖子。从 rest api 自动生成表单听起来像是涅槃。我还没有看到任何东西可以做到这一点。如果您想合作创建一个 Angular 项目,我很乐意与您合作。 【参考方案1】:

我认为这可能会有所帮助http://formly-js.github.io/angular-formly 这需要 JSON 并呈现 HTML 表单。

【讨论】:

将链接的核心信息粘贴到答案中。【参考方案2】:

通过一些额外的步骤,您不仅可以拥有表单,还可以拥有基于 Django REST API 的完整管理。查看 ng-admin (https://github.com/marmelab/ng-admin),这是一个 Angular.js 模块,用于在 RESTful Web 服务之上构建后端应用程序。

【讨论】:

【参考方案3】:

为了解决这个问题,我开始了一个项目,PS检查这个repo,但是,我建议使用cli工具生成表单配置并将其存储在你的项目中

【讨论】:

以上是关于JS 框架能够基于(django)rest api 选项生成表单的主要内容,如果未能解决你的问题,请参考以下文章

Django rest 框架 api_view 与普通视图

用于实现级联下拉列表的 Vue.js 和 django rest 框架

在 api 视图方法上禁用 CSRF(django rest 框架)

Django REST框架--关系和超链接api

单个视图的基于 Django REST 框架组的权限

Django Rest 框架中的基于会话的与令牌身份验证