2011-10-26 14 views
3

Djangoに2つのカスタムテンプレートタグを書きました。 目標は、別のカスタムタグ内で1つのカスタムタグを使用することです。許可されていますか?カスタムの "外側" タグの テンプレートは次のようになります。 'custom_internal_tag'、 '空' または 'ENDFOR'Django:ネストされたカスタムテンプレートタグ

予想:

無効なブロックタグで結果をレンダリングした後

<ul> 
    {% for type in types %} 
     {% custom_internal_tag param1 %} 
    {% endfor %} 
</ul> 

どの

ネストされたカスタムタグは許可されていますか?このようなエラーの原因は何でしょうか?

答えて

9

これらは間違いなく許可されていますが、カスタムタグが適切に定義されていないか、見つかっていないか読み込まれているためにエラーが発生する可能性があります。

すべてのカスタムタグがapp/templatetagsディレクトリにあり、通常は@registerデコレータを使用して正しく読み込まれていることを確認してください。

参考:https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#registering-custom-filters

+1

確かに、外側のタグのための私のテンプレートは、コード{%internal_tag%の負荷を}含まれていませんでした。 – AlexA

+0

私の場合、いくつかのカスタムタグに他のカスタムタグが含まれている場合、 '{%tag_from_lib1%} {%tag_from_lib2%} {%endtag_from_lib1%}' - 'lib2'を最初にロードしてから' lib1' '{%load lib2 lib1%}'を '{%load lib2%} {%load lib1%}'に変更しなければなりませんでした。それ以外の場合は、 "無効なブロックタグ"エラーが発生しました。 –

関連する問題