change_form.html
モデルの Django 管理ビューにコンテンツを追加するために、テンプレートをオーバーライドしたいと考えています。ドキュメントによるとchange_form.html
、フォルダーにファイルを作成する必要があります/project-path/templates/admin/appname/modelname/
。もちろん、このパスが で利用可能であることを確認する必要がありますTEMPLATE_DIRS
。このようなファイルは次のようになります。
{% extends "admin/change_form.html" %}
{% load i18n %}
{% block after_field_sets %}
SOME CONTENT
{% endblock %}
ただし、私はdjango-guardianを使用してオブジェクト権限を取得しています。この Django アプリもオーバーライドchange_form.html
します (問題なく動作します。関連するソースはここにあるようです) が、Django はテンプレート拡張ファイルを取得しません (つまり、上記のサンプルの「SOME CONTENT」は表示されません)。オーバーライドしたいブロック/パーツは、django-guardian がオーバーライドするものと同じではなくchange_form.html
、最終的には django-guardionとテンプレートを追加したいと考えています。
ここで何が間違っていますか?また、管理テンプレートをオーバーライドする複数のアプリケーションを持つことはまったく可能ですか?
興味がある場合、これは私のTEMPLATE_LOADERS
設定です:
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader'
)
また、django-guardian はINSTALLED_APPS
配列の最後のアプリです。