我有一个有各种不同的盒子,可以去它根据网页上的侧边栏的Django网站调用的数据库查询。例如,“最新评论”或“最新推文”或“精选故事”。这些框都需要运行数据库查询。Django的:从模板
我可以简单地增加一个most_recent_comments和任何其他变量都需要查看每一页。但是这感觉很脆弱。我希望能够通过编辑模板来移动和更改框。
所以我的另一个想法是我可以将所有框可能需要的所有变量添加到每个页面上的Context处理器,但是ORM是否足够智能,只能为实际使用这些变量的页面运行查询?或者即使我在页面上没有框,它会打到数据库?
所以我想我想要的是某种自定义标记,我可以只说{%most_recent_comments_box%},它足够聪明,可以从数据库中加载所需的任何变量,然后调用一个小模板文件。这是正确的方法吗?我如何实现这一目标?
好极了!所以你认为上下文处理器是最好的解决方案? – Eli