ディンゴはモデルクラスとインスタンスの追加のビューを簡単に作成できるように、Djangoの管理を拡張Djangoのアプリです。ディンゴは、元のソースツリーをサブクラス化するか、変更することなく、サードパーティのアプリケーションの管理をカスタマイズすることができます。
利用
ディンゴを使用するには、Pythonパス上にあることを確認し、settings.pyに設定あなたのINSTALLED_APPSに追加します。それは楽器ModelAdminクラスが登録されます1で、デフォルトのAdminSiteを置き換えるように、そのディンゴは、django.contrib.admin前にインストールする必要があります。
オブジェクト対モデル
ディンゴは、モデルやオブジェクトのビューを登録するために使用することができます。モデルのために登録されたビューは、モデルのインスタンスに固有ではありません。それらは、[潜在】空のクエリセットでDjangoの管理アクションと同様に考えることができます。インスタンス·ビューは、単一のモデルインスタンス上で動作します。あなたの代わりにクエリセットの単一のオブジェクト上で動作する管理者の操作と同様にそれらを考えることができます。
ディンゴビューは微妙ないくつかの方法で管理者の操作とは異なります。最も重要な違いは、サブクラス化またはアプリケーションのコードを変更wihthoutサードパーティアプリケーションに注入することができるということです。ディンゴビューもデフォルトで異なるユーザーインターフェイスを持っています。ディンゴは変更リストと変更フォームビューの右上の領域にボタンとしてディンゴ図を示し、交換の管理テンプレートが含まれています。
ビューの追加
あなたは、モデルを追加したり、モデルの管理者に意見をobjectにディンゴを使用する場合は、関数として、またはModelAdminのメソッドのいずれかとして定義することができます。
たとえば、関数としてビューを定義するには:
輸入ディンゴ
輸入dingo_test.models
@ dingo.object_view(dingo_test.models.RstDocument)
@ dingo.short_description(「レンダリング」)
デフ(model_admin、リクエスト、OBJECT_ID)レンダリング:
  django.shortcuts輸入リダイレクトから
 文書= dingo_test.mdoels.RstDocument.objects.get(ID = OBJECT_ID)
 応答を返します()
同じビューはまた、ModelAdminの方法であってもよいです。
クラスRstDocumentAdmin(ModelAdmin):
  @ dingo.object_view(dingo_test.models.RstDocument)
  @ dingo.short_description(「レンダリング」)
&NBSPは、デフ(自己、リクエスト、OBJECT_ID)レンダリング:
 パス
SHORT_DESCRIPTIONデコレータの使用は、管理ユーザーインタフェースで使用されるラベルを定義し、この場合にはオプションであることに注意してください。説明文が存在しない場合、ディンゴはDjangoはモデルのデフォルトの冗長名をフォーマットするのと同じように関数やメソッド名を、フォーマットします。
サードパーティ製のアプリケーションへのビューの追加
ディンゴはdjango.contrib.admin前INSTALLED_APPSに記載されているように、所望限り、関数ベースの例では、上記の動作します。コードは、その登録が正常に発生を確認するためにインポートする必要があることに注意してください
この特長:ます。
は、簡単にどちらかのモデルやオブジェクトレベルで、あなたのモデルの管理のための新しいビューを作成します。
元のコードベースを変更することなく、サードパーティのアプリケーションの管理者宣言にカスタマイズを注入します。
この要件:
このパイソン
コメントが見つかりません