2
Django的新手和第一次使用模板引擎。我的问题是...Django模板标签和include for nav
我在我的base.html中有一个导航div。现在在其他语言中,我会使用包含html的nav元素。在Django中,我看到我们有一种叫做模板标签的东西。所以我应该使用模板标签来显示像导航或旧学校包括(我相信Django也支持)的演示文稿元素?
此外,为了保持这个问题,一个例子会很有用。
谢谢
Django的新手和第一次使用模板引擎。我的问题是...Django模板标签和include for nav
我在我的base.html中有一个导航div。现在在其他语言中,我会使用包含html的nav元素。在Django中,我看到我们有一种叫做模板标签的东西。所以我应该使用模板标签来显示像导航或旧学校包括(我相信Django也支持)的演示文稿元素?
此外,为了保持这个问题,一个例子会很有用。
谢谢
模板标签实际上是应用特殊处理来实现您想要的输出。使用模板标签可以访问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>
看一看在文档上templates和custom template tags 。
谢谢你写的这个写得很好的答案,完美只是我之后的信息 – jason 2013-02-27 11:28:17