0

我正在编写一个工具来监视外部 api 并验证它是否按文档说明工作。

基本上我有两个模型:

ServerTest,它有一个 url 和一个 json 字符串,我们希望目标服务器为该 url 返回

TestResult它与 具有外键关系ServerTest,包含服务器实际响应的字符串,以及测试发生时间的时间戳。

应用程序将定期运行每个ServerTest,ping TargetServer,并TestResult为每个ServerTest.

现在我想做的是查看实际和预期 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 动态注入到上述容器中

4

1 回答 1

1

由于您无论如何都在注入 html,我会做一个简单的视图,生成您需要的差异,然后在管理页面中调用它。

为了在 admin 中添加自定义 JS,您可以使用 ModelAdmin Media

于 2012-07-06T21:35:40.750 回答