我包括在我的基础模板与页脚:动态包括与查询
{% include "footer.html %}
我需要证明它在每一个页面。但是页脚每次页面加载时都需要使用多个查询来计算多个静态页面。 据我所知,这包括无法运行查询,因为任何视图被调用。我不想在所有视图中复制查询,我认为这是一个肮脏的解决方案。 这种情况下的最佳做法是什么?我认为这是一个很常见的问题。
我包括在我的基础模板与页脚:动态包括与查询
{% include "footer.html %}
我需要证明它在每一个页面。但是页脚每次页面加载时都需要使用多个查询来计算多个静态页面。 据我所知,这包括无法运行查询,因为任何视图被调用。我不想在所有视图中复制查询,我认为这是一个肮脏的解决方案。 这种情况下的最佳做法是什么?我认为这是一个很常见的问题。
如果统计信息是全局的(与特定页面/请求不相关),则可以实现自定义上下文处理器,该处理器可以计算统计信息并在上下文中添加相应的变量。 footer.html
可以使用该上下文变量/字典来进行统计。
您可以使用context processors在所有视图运行查询,并提供必要的数据更新您的上下文。
如何创建上下文处理器,并从那里返回查询? 如果这是您的愿望,结果将在每个视图中都可用?
你应该写上下文处理器工作了这一点:
另一种选择此处不再赘述至今都custom template tags。取决于你想要做什么,上下文处理器可能是矫枉过正的。
尽管上下文处理器很适合在每个模板中包含标准的东西,但我怀疑您的目的是一个custom template tag,这表示整个页脚会是一个更好的选择 - 可能是一个包含标签可以完成这项工作。
uhm,但它们不适用于render_to_response – tapioco123 2012-08-06 14:56:42