Django 新手,第一次使用模板引擎。我的问题是...
我的 base.html 中有一个导航 div。现在在其他语言中,我会为 html 的 nav 元素使用包含。在 Django 中,我看到我们有一个叫做模板标签的东西。那么我应该使用模板标签来显示导航或旧学校包含的演示元素(我相信 Django 也支持)?
为了让这个问题成为一个stackoverflow问题,一个例子会很有用。
谢谢
Django 新手,第一次使用模板引擎。我的问题是...
我的 base.html 中有一个导航 div。现在在其他语言中,我会为 html 的 nav 元素使用包含。在 Django 中,我看到我们有一个叫做模板标签的东西。那么我应该使用模板标签来显示导航或旧学校包含的演示元素(我相信 Django 也支持)?
为了让这个问题成为一个stackoverflow问题,一个例子会很有用。
谢谢
模板标签实际上是为了应用特殊处理来实现您想要的输出。使用模板标签可以让您访问 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>