2012-03-10 3 views
4

inc/base.htmlにあるビューにロードするアプリケーションにテンプレートタグを追加しました。このビューには、基本的なHTMLレイアウトが含まれています。私の他の意見はすべて{% extends "inc/base.html" %}です。タグをロードするビューから拡張されたページでDjango template_tagを使用する

私の意見の1つに、inc/base.htmlにロードされたテンプレートタグ{% load spb_utils %}を参照したいと思います。 base.html内のテンプレートタグを使用しようとするとうまくいきますが、別のビューを試してみると、手動で{% load spb_utils %}を拡張ビューに追加しない限りエラーになります。

この動作は意図的なものですか?たとえば、テンプレートを拡張すると、Djangoは意図的に 'parent'テンプレートが読み込むテンプレートタグを読み込まないのですか?タグをグローバルに読み込むスマートな方法はありますか?

ありがとうございました。

答えて

4

これは正しい動作です。テンプレートを拡張してもテンプレートタグは読み込まれません。あなたは慎重にあなたが本当にこれをしたいかどうかを検討すべきであるにもかかわらず、常に、this answerを参照してください、タグをロードするための

>>> import this 
The Zen of Python, by Tim Peters 

Beautiful is better than ugly. 
Explicit is better than implicit. 
[...] 
+0

グレート、ありがとうございました。私はこれがDjangoの分離された性質のいくつかを取り除きますが、同時に共有URL変数などを設定するためのシンプルでグローバルな方法を見つけるのに苦労しています。コンテキストプロセッサは、この種のものよりも多くの努力が必要と思われる。ありがとう! –

関連する問題