私は現在私のモデルの管理テンプレートをカスタマイズしており、django-importexportやdjango-modelcloneのようなサードパーティのものを継承したModelAdminの問題に遭遇しました。Django admin - カスタムchange_form.htmlとサードパーティのアプリケーションcustom change_form
これらのアプリのいずれもchange_list.html
またはchange_form.html
のいずれかになります。それぞれはadmin/change_list.html
またはadmin/change_form.html
のいずれかに拡張されます。
だから私のモデルの管理者は、次のようになります。
class MyModelAdmin(SuitObjectActionsMixin, ImportExportModelAdmin, ClonableModelAdmin):
私は/templates/myapp/mymodel/
にファイルchange_form.html
を追加することで、私のModelAdminのをカスタマイズしてみました。他の管理者がサードパーティのアプリケーションを継承していない場合と同じように動作するはずです。
デバッグツールバーを使用すると、使用されたテンプレートは、標準change_form.html
を拡張し、私が作成したテンプレートではないdjango-modelclone
のいずれかのテンプレートであるようです。
第三者のアプリケーションテンプレートは、標準のものを拡張するだけで、「ローカル」カスタムテンプレートよりも優先されるようです。
この問題を解決する明確な方法はありますか?
私の場合ではなく、テンプレートを完全に上書きしたいのであれば良いです。 たとえば、 'django-modelclone'は' change_form.html'にアクションボタンを追加するだけで、私のカスタムテンプレートにはこのボタンが残っています。 –
管理者アクションを意味するならば、あなた自身のテンプレートを置くなら、あなたはそれを持っています。より複雑なものなら、modelcloneや他のバッテリーのhtmlテンプレートをコピーしてカスタマイズすることができます。私は例えばグラッペリでそれをしました。 – valignatev
申し訳ありません返信を忘れました... サードパーティのアプリケーションのHTMLを直接テンプレートに追加して –