7

charset、google-site-verification、stylesheets、js ...のサイト全体のタグを含むbase.htmlテンプレートがあります。また、ページ固有のタイトルタグとメタディスクリプションのブロックを設定する必要があります。

base.htmlとそのブロックの継承されたテンプレートミックスタグに{%block head%}を設定する必要がありますか、それとも{%block meta%}や{%blockなどの特定のブロックを設定する必要がありますか? title%}を使用して、Djangoがhtmlにレンダリングするときにタグが適切な場所に表示されるようにします。

これは意味がありますか?すべてのタグが1つの{%block head%}に混在しているソースを表示すると、状況は少し乱れますが、タグごとに特定のブロックを追加すると、それらは順番になりますが、はるかに多くのコードを使用します...?

4

1 に答える 1

6

私は通常3つのブロックを持っています。この 3 つは、過去 1.5 年間、私と同僚のニーズをすべて満たしてくれました :-)

  • css のブロック。

  • JavaScript のブロックです。

  • 「ヘッドエクストラ」と呼ばれるブロック。RSS フィードを指すリンク要素を追加するなど、ページごとに何か特別なことをしたいことがよくあります。またはインライン JavaScript スニペット。このブロックを使用すると、これらのコーナー ケースを明確な方法で許可できます。

基本テンプレートを拡張するテンプレートで{{ super }}は、css および javascript ブロックで使用して、「親の」リストを取得し、独自のリストで拡張できます。

また、頭の中のすべてをオーバーライドしたいといういくつかのケースのために、全体の周りに頭のブロックがあります:-)

于 2011-12-13T23:05:37.273 に答える