2012-06-28 22 views
0

我寫這個模板包含標籤:無法覆蓋的假默認值kwarg模板中包含標籤

@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 %} 

這只是正常。使用具有值Falseshow_meta正確呈現模板。

但是,如果我改變的show_meta默認爲False這樣的:

def post_detail(post, show_meta=False): 

然後,如果我嘗試用{% post_detail post show_meta=True %}調用它,模板仍呈現與具有Falseshow_meta。爲什麼?

回答

1

TrueFalse默認情況下未在模板上下文中定義,並且正常模板語言規則將不存在的名稱視爲False。嘗試傳遞0和1。