ModelAdminにスニペットを追加

django django-admin django-models
ModelAdminにスニペットを追加

ModelAdminがあり、モデルの一部ではないhtmlスニペットを挿入する必要があります(java-appletです)。 これを行う方法はありますか?

  2  0


ベストアンサー

あなたはいくつかの選択肢があります。 アプレットがフォームフィールドの1つに関連している場合、アプレットを含むカスタムウィジェットを作成できます。 別の方法は、モデル変更フォームで使用されるテンプレートをオーバーライドし、アプレットを含めることです。 テンプレートは、テンプレートディレクトリの admin / app_name / model_name / change_form.html`に配置する必要があります。このディレクトリでは、 app_name`と `model_name`がモデルの適切な値に置き換えられます。

2


私はこの種のことをたくさんする傾向があり、それはあなたが望むように見えるものです:

class SomeModelAdmin(admin.ModelAdmin):
    ...
    list_display = (
        'visible',
        'thumbnail',
        'size',
        'url',
    )
    ...

    def thumbnail(self, obj):
        return u'' % obj.url

    thumbnail.allow_tags = True
  1. et voila、アドホックHTMLスニペット。 `obj`はモデルインスタンスです
    質問。 個人的には、これはModelFormsなどのウィジェットを際限なくサブクラス化するよりも柔軟性があります-マイレージは、管理サイトで何をするか、またはより正統的なオブジェクト指向の説得であるかどうかによって異なります。いずれにせよそれを行う方法を知っていると便利です。

1


タイトルとURLをコピーしました