7

すべてのテンプレートを変更する前に、これを正しく理解していることを確認したいと思います。全体的なレイアウトを含む base.html があります。これには {% ブロック コンテンツ %} があります。各コンテンツ ページは「base.html」を拡張し、ブロック タグで囲まれています。これはうまくいきます。私のビューはレンダリングされたコンテンツ ページを返し、レイアウトにうまく配置されています。

menubar.html にメニュー バーも作成しました。メニューは、選択したページ/コンテンツの色が異なることを除いて、すべてのページで同じにする必要があります。そのため、どのコンテンツがロードされたかを知る必要があります。

base.html にも {% block menubar %} が追加されました

すべてのコンテンツ テンプレートを開いて、以下を追加しようとしています。

{% include "menubar.html" %}

次に、menubar.html で、メニューをブロック タグで囲みます。あれは正しいですか?ブロック システムのポイントは、すべてのテンプレートを変更することなく、base.html からより多くのことを制御できることだと思いました。

4

2 に答える 2

7

{% include "menubar.html" %}base.htmlに入れることをお勧めします。

メニューで現在のページを強調表示するには、次のようなものを使用します: https://stackoverflow.com/a/477719/473285

于 2012-10-15T16:13:37.820 に答える
3

コンテンツ テンプレートが base.html から拡張され、{% block menubar %}が の外側にある{% block content %}場合、すべてのコンテンツ テンプレートを変更する必要はなく、base.html だけを変更する必要があります。

于 2012-10-15T16:17:52.003 に答える