【发布时间】:2013-06-23 07:53:13
【问题描述】:
考虑一个非常简单的 Django 仪表板应用程序。它有 2 种型号:
- 页面
- 小部件
当然,Page 和 Widget 具有 ManyToMany 关系。
就像任何好的仪表板实现一样,设计人员可以在一个小部件中更改 3 件事:
- 驱动小部件的数据源
- 在页面上放置小部件
- 在小部件内显示数据
使用 Widget 中的 URL 字段指定数据,并由基于 Django REST Framework 和 django-filter 后端的 REST API 提供服务。
页面上的展示位置是使用出色的 Gridster 提供的。
这将离开演示部分。我有两种可能的解决方案:
- 将模板 TextField 与小部件附加在一起。数据将以 JSON 格式从 Web 服务中获取,并根据客户端 Widget 中定义的模板(把手)呈现。
- 将模板名称作为 URL 中的查询字符串传递给 REST API,并使用用户指定的模板呈现数据。
既然已经明确定义了上下文(希望如此),以下是我的问题:
- 有什么方法可以选择第一个解决方案,并且仍然可以使用 DRF 序列化程序生成的自动表单?
- 如果不是,我选择了第二种解决方案,在安全性、代码维护、代码质量、测试等方面是否存在任何潜在的陷阱?为什么我没有看到其他人这样做,即让用户通过查询字符串选择模板?
- 我还缺少其他解决方案吗?
【问题讨论】:
标签: django django-templates django-rest-framework