【发布时间】:2011-08-29 01:19:50
【问题描述】:
我是 Django 新手,来自 Rails,所以这可以解释我下面的奇怪问题:
我有一个主布局,其中有一个侧边栏,其中列出了网站的最新更新。该主布局用于我的 webapp 中的每个页面,因此创建的每个模板都扩展 main.html。
对于最新更新部分,我只想在每次呈现页面时获取从帖子到 Web 应用程序的最后 5 次更新。我曾想过在页面加载后通过 ajax 调用让侧边栏做到这一点,但我认为这可能不是我最好的选择。
我还考虑过创建一个标签来为我做这件事,然后只在 main.html 中调用该标签。这很简单,但是我必须在标签代码中编写很多 HTML,这似乎有点烦人(很多字符串附加等,除非我错了并且有更好的方法? )
我读过Context Processors。这似乎正是我想要的,但似乎这可能会导致另一个问题,我必须将 context_instance 传递给每个单独的 render_to_response?这似乎是很多代码重复,如果可能的话,我会尽量避免这种情况。有没有办法让 render_to_response 总是采用 RequestContext 对象,而不必总是指定它?
是否有任何其他方法可以实现为每个视图运行一些代码并消除始终将数据传递给视图的需要?
【问题讨论】: