如何在Django中将数据发送到base.html?
我想在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/