0

外部APIを監視し、ドキュメントどおりに機能することを確認するツールを作成しています。

基本的に私は2つのモデルを持っています:

ServerTest、これには、ターゲットサーバーがそのURLに対して返すと予想されるURLとjsonの文字列が含まれています

TestResultServerTestこれには、サーバーの実際の応答を含む文字列、およびテストが発生したときのタイムスタンプとの 外部キー関係があります。

定期的に、アプリはそれぞれを実行しServerTest、TargetServerにpingを実行し、それぞれに新しいTestResultインスタンスを作成しますServerTest

ここで私がやりたいのは、実際のjsonと予想されるjsonの間のjson差分を表示することです。私はこのウィジェットを使うかもしれないと思っていました:http: //tlrobinson.net/projects/javascript-fun/jsondiff/。また、そのウィジェットをdjangoadminに埋め込むことも考えていました。問題は、diffを生成するために、ServerTestインスタンスと対応する最新のTestResultインスタンスの両方にアクセスする必要があることです。djangoadminを介してこれを行う簡単な方法はないようです。私はあきらめて、別の見方をするべきですか?django管理インターフェースの半分を再実装するまで、そのビューに機能を追加し続けるような気がするので、そうはしません。

要約すると、次のことが必要です。

1)ServerTestインスタンスにアクセスします

2)TestResultインスタンスにアクセスします

3)htmlコンテナを追加します(たとえば、ServerTest管理ページで)

4)現在表示されているServerTestのexpected_jsonと対応する最新のTestResultのactual_jsonにアクセスできるJavaScriptを実行します

5)JavaScriptで前述のコンテナにHTMLを動的に挿入する

4

1 に答える 1

1

とにかくhtmlを挿入しているので、必要なdiffを生成する単純なビューを実行し、それを管理ページ内で呼び出します。

adminにカスタムJSを追加するには、ModelAdminMediaを使用できます

于 2012-07-06T21:35:40.750 に答える