0

私はこのテンプレート包含タグを書きました:

@register.inclusion_tag('blog/post_detail.html')
def post_detail(post, show_meta=True):
    return {
        'post': post,
        'show_meta': show_meta
    }

そして私はそれをこのように呼びます:

{% post_detail post show_meta=False %}

これは問題なく機能します。テンプレートはshow_meta、値が。で適切にレンダリングされますFalse

ただし、デフォルトを次のように変更すると、次のようshow_metaになりますFalse

def post_detail(post, show_meta=False):

そして、それをで呼び出そうとすると、テンプレートは値が.で{% post_detail post show_meta=True %}レンダリングされたままになります。なんで?show_metaFalse

4

1 に答える 1

1

TrueFalseデフォルトではテンプレートコンテキストで定義されておらず、通常のテンプレート言語ルールでは、存在しない名前はFalseとして扱われます。代わりに0と1を渡してみてください。

于 2012-06-28T21:49:06.160 に答える