1

というテンプレートを作成し、次のadmin/base.htmlように書くことで、管理テンプレートをオーバーライドできることを知っています。

<h1>Hello!</h1>
{% block content %}
{% endblock %}

ただし、私のサイトには独自の基本テンプレート (コンテンツ ブロックに「コンテンツ」を使用) があり、これを管理サイトに使用したいと考えています。サイトのベース HTML に加えて、次のような管理 CSS とスクリプトを追加する必要があります。

<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% static "admin/css/base.css" %}{% endblock %}" />

したがって、サイトの基本テンプレートから継承するテンプレートで管理者テンプレートをオーバーライドします。ただし、コンテンツを挿入するためにこのテンプレートでコンテンツ ブロックを定義すると、個々の管理ビュー テンプレートによってすぐに上書きされます。ブロック名を変更することは間違った解決策のように思えます。なぜなら、それが管理テンプレートに使用されているという事実は、それが Django で使用されている正しい規則であることを示唆しているからです。

4

2 に答える 2

0

元の admin/base_site.html をコピーして、ここで調整することをお勧めします (タイトルの編集、ブランディング、独自の css/js の追加{% block extrahead %}または使用など)。{% block extrastyle %}

管理サイトはカスタム テンプレート内に統合されることは想定されていませんが、スタイルを自分の好みに簡単に合わせることができます。

于 2012-07-20T08:20:54.993 に答える
-2

admin/base.htmlファイルを作成し、これを内部に配置します。

{% extends "base.html" %}
# according base.html to the name of your base layout file
于 2012-07-19T21:21:18.510 に答える