【发布时间】:2012-07-07 05:35:40
【问题描述】:
我正在编写一个工具来监控外部 api 并验证它是否按文档说明工作。
基本上我有两个模型:
ServerTest,它有一个 url 和一个我们期望目标服务器为该 url 返回的 json 字符串
和
TestResult 与ServerTest 有外键关系,包含服务器实际响应的字符串以及测试发生时间的时间戳。
应用程序会定期运行每个ServerTest,ping TargetServer,并为每个ServerTest 创建一个新的TestResult 实例。
现在我想做的是查看实际 json 和预期 json 之间的 json 差异。我在想我可能会使用这个小部件:http://tlrobinson.net/projects/javascript-fun/jsondiff/。我还想我可能会将该小部件嵌入到 django 管理员中。问题是,为了生成差异,我需要访问 ServerTest 实例和最新的相应 TestResult 实例。似乎没有直接的方法可以通过 django admin 执行此操作。我应该放弃并单独提出观点吗?我宁愿不这样做,因为我觉得我会继续向该视图添加功能,直到我重新实现了 django 管理界面的一半。
回顾一下,我需要:
1) 访问一个 ServerTest 实例
2) 访问一个 TestResult 实例
3) 添加一个 html 容器(例如,在 ServerTest 管理页面上)
4) 运行一些可以访问当前查看的ServerTest的expected_json和最新对应TestResult的actual_json的javascript
5) 让 javascript 将 html 动态注入到上述容器中
【问题讨论】: