我的基本模板中包含一个页脚:
{% include "footer.html %}
我需要在每个页面中显示它。但是页脚有几个静态,每次页面加载时需要用几个查询来计算。 据我所知,这包括无法运行查询,因为任何视图都被调用。我并不想在我的所有观点中复制查询,我认为这是一个肮脏的解决方案。 在这种情况下,最佳做法是什么?我认为这是一个非常普遍的问题。
答案 0 :(得分:2)
尽管上下文处理器适合在每个模板中包含标准内容,但我怀疑为了您的目的custom template tag使整个页脚更好用 - 可能包含标记可以完成这项工作。
答案 1 :(得分:1)
如果统计是全局的(不是与特定页面/请求相关的),您可以实现自定义上下文处理器,它可以计算统计信息并在上下文中添加相应的变量。 footer.html
可以使用上下文变量/ dict来放置统计信息。
答案 2 :(得分:0)
您可以使用context processors在所有视图中运行查询,并使用必要的数据更新您的上下文。
答案 3 :(得分:0)
如何创建Context Processor,并从那里返回查询? 如果您想要的话,结果将在每个视图中都可用?
答案 4 :(得分:0)
你应该编写上下文处理器来解决这个问题:
答案 5 :(得分:0)
到目前为止,此处未提及的另一个选项是custom template tags。根据您想要做什么,上下文处理器可能过度。