2013-02-27 73 views
2

Django的新手和第一次使用模板引擎。我的問題是...Django模板標籤和include for nav

我在我的base.html中有一個導航div。現在在其他語言中,我會使用包含html的nav元素。在Django中,我看到我們有一種叫做模板標籤的東西。所以我應該使用模板標籤來顯示像導航或舊學校包括(我相信Django也支持)的演示文稿元素?

此外,爲了保持這個問題,一個例子會很有用。

謝謝

回答

3

模板標籤實際上是應用特殊處理來實現您想要的輸出。使用模板標籤可以訪問Python語言的所有功能。 Django模板語言更簡單。

我建議你要堅持使用include而不是寫模板標籤。這將更容易閱讀。請記住,您應該在視圖中(或模板/模板標籤之外的某處)生成變量列表。

def your_view(request): 
    #... 
    nav_items = Category.objects.filter(include_in_nav=True) 
    return render(request, 'your_page.html', {'nav_items': nav_items}) 

然後在your_page.html你打算怎麼辦 -

{% include 'nav.html' %} 

然後nav.html會是這樣的 -

<nav> 
    {% for item in nav_items %} 
     <a href="{% url cat_page item %}>{{ item.title }}</a> 
    {% endfor %} 
</nav> 

看一看在文檔上templatescustom template tags

+0

謝謝你寫的這個寫得很好的答案,完美只是我之後的信息 – jason 2013-02-27 11:28:17