如何在Django中将数据发送到base.html?

2 投票
2 回答
3235 浏览
提问于 2025-04-16 18:17

我想在Django中把导航栏抽象出来,然后放到base.html里;可以直接放进去,也可以通过模板包含的方式。

我现在完全搞不清楚的是,怎么把数据加到上下文中,这样导航栏才能从数据库里获取内容。

我想在views.py里查询数据,然后把这些数据提供给模板,这样我就可以构建导航栏了。

谢谢。

2 个回答

7

不,你不会这样做。你应该写一个自定义模板标签

<html>
 ...
<div class="navbar">{% navbar %}</div>
 ...
</html>
5

如果你需要添加一些信息,让所有的模板都能用到,包括base.html这个模板,你应该看看context_processor.py这个文件。它可以把信息添加到上下文中,这样你的页面就能获取到这些数据。我在这里找到了一篇关于这个的博客:http://www.b-list.org/weblog/2006/jun/14/django-tips-template-context-processors/

撰写回答