2016-12-04 69 views
1

我正在使用Django flatpages並嘗試將htmlpage的標題作爲html include的一部分傳遞。Django - 傳遞flatpage.title變量作爲include的一部分

{% block navbar %} 
    {% include 'navbar.html' with active='{{flatpage.title}}' %} 
{% endblock %} 

這樣我就可以突出顯示導航欄中的下落。

<ul class="nav navbar-nav"> 
    <li class="{% if active == 'home' %}active{% endif %}"><a href="{% url 'home' %}">Home</a></li> 
    etc. 
</ul> 

它似乎沒有正確呈現。而如果我將{{flatpage.title}}替換爲硬編碼的值,即。 '家'它工作得很好。

{% block navbar %} 
    {% include 'navbar.html' with active='home' %} 
{% endblock %} 

我無法做到這一點嗎?

我不清楚的方式來調試Django模板來檢查這些值...我目前正在檢查變量傳遞正確的值的方式是簡單地引用{{flatpages.title}}在其他地方,分別在HTML - 這似乎呈現正確的'家'值我期望。

<div id="navbar" class="navbar-collapse collapse"> 
    <ul class="nav navbar-nav"> 
    <li class="{% if active == 'home' %}active{% endif %}"><a href="{% url 'home' %}">Home</a></li> 
    {{flatpage.title}} 
    etc. 
    </ul> 
</div> 

回答

1

您不需要在模板標籤的{{}}括號中包圍參數。

如果它是一個變量,而不是一個字符串,那麼不要使用「」引號。

下面應該工作:

{% block navbar %} 
    {% include 'navbar.html' with active=flatpage.title %} 
{% endblock %} 

看到include部分,詳細信息

+0

是的,你說得對。我可以發誓我嘗試了這一點,但我猜不太合適。還要感謝文檔的鏈接。 – jayuu