2011-12-31 20 views
0

私はdjangoプロジェクトに2つのアプリケーションを持っています。 2つの異なるアプリケーションのchange_list.htmlに異なるウィジェットを追加したいと思います。 settings.pyでは、テンプレートのadminディレクトリにchange_list.htmlを追加した後、 TEMPLATE_DIRS =( "/ home/path/project/application1/templates"、 "/ home/path/project/application2/templates "、
2つの異なるchange_list.htmlを同じdjangoプロジェクトの2つのアプリケーションに使用する方法

私は、考慮されているchange_list.htmlテンプレートはapplication1からのものであることに気付きました。私がコメントした場合にのみ、application2のテンプレートが考慮されます。行く方法?私は2つの異なるアプリケーションの両方を考慮する必要があります。提案してください。

答えて

0

管理テンプレートをオーバーライドのセクションを読む:https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-admin-templates(より具体的にhttps://docs.djangoproject.com/en/dev/ref/contrib/admin/#templates-which-may-be-overridden-per-app-or-model

TEMPLATE_DIRSまたはテンプレートローダのいずれかによって解析されたフォルダのいずれかにadmin/application1であなたのchange_list.htmlを置き、そのテンプレートのみapplication1のために提供されます。

あなたの現在のコードでは、djangoは常に最初のパスの一致の優先順位を2番目のものよりも高くするように指示しています。

+0

私はchange_list.htmlを2 diffの下に配置しました。 /home/project/application1/templates/admin/change_list.html /home/project/application2/templates/admin/change_list.htmlのようなアプリケーションです。 settings.pyで私は追加しました:TEMPLATE_DIRS =( "/ home/project/application1/templates"、 "/ home/project/application2/templates"、 ) 管理フォルダはアプリケーション/テンプレート/私は2つの異なるchange_list.htmlを配置しています。注文を変更するか、私はsettings.pyで何かを逃していますか?ご案内ください。 – user956424

+1

正確な例を示すには '/ home/project/application1/templates/admin/change_list.html'を'/home/project/application1/templates/admin/application1/change_list.html'に移動して '/ home /プロジェクト/ application2/templates/admin/change_list.html'を '/ home/project/application1/templates/admin/application2/change_list.html'に変更してください。 –

+0

あなたのご指摘に従いました。特に上記のリンクを注意深く読む必要があります。 – user956424

関連する問題