デフォルトのテンプレートとデフォルトのビューをオーバーライドできます。
Django には、管理者レコードを表示するための 2 つの異なるビューとテンプレートがあります。1 つは新しいものを作成するためのもので、もう 1 つは既存のものを表示して編集するためのものです。関連するメソッドは次のとおりです。
これは、関連するオーバーライド ビューを準備する方法の例です ( [ビューの追加/変更]リンクから取得) 。
class MyModelAdmin(admin.ModelAdmin):
# A template for a very customized change view:
change_form_template = 'admin/myapp/extras/openstreetmap_change_form.html'
def get_osm_info(self):
# ...
pass
def change_view(self, request, object_id, form_url='', extra_context=None):
extra_context = extra_context or {}
extra_context['osm_data'] = self.get_osm_info()
return super(MyModelAdmin, self).change_view(request, object_id,
form_url, extra_context=extra_context)
カスタム テンプレートを準備する方法を確認するには、デフォルトの django の追加と変更のテンプレートを django ソース コードから確認する必要があります (新しいテンプレートとしてコピーし、後で編集することもできます)。
最後に、django テンプレートを編集したり、ソースからコードを直接表示したりしないでください。これらはさまざまなアプリケーションで使用されており、django ソース コードを更新すると、編集内容が上書きされたり、問題が発生したりする可能性があるためです。