2013-03-20 55 views
2

我在django中编写了一个简单的博客应用程序。其中包括,我想在博客应用程序的所有页面上提供日期存档和标签云。但是,在项目的所有页面上都不需要。django应用程序所有页面的共同特性,但不是项目常见的

我相信使用上下文处理器将使这些项目的所有页面都可用?如果是这样,这似乎是一个矫枉过正的需要,因为在与博客应用程序无关的网页上有不必要的查询和额外的上下文变量。有没有更好的方法来解决这个问题?

回答

2

创建自定义模板标签,它将显示所需的组件,如标签云。参考文献见the manual

​​
0

我看到2溶液: 1)一个上下文处理器内,可以有请求对象,这样就可以检查是否URL是在博客应用程序。如果你在博客的应用程序,你注入所需的数据

2)可以使上下文prosessor谁注入谁只在模板计算计算所需数据的功能...

def mycontextpreprosessor(request): 
    def my_func_who_work_hard(): 
     return range(10) 

    return {"cloud",my_func_who_work_hard} 
在此

为例,该范围内的功能将只如果你的模板做称为

{{cloud}} 

和将输出

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
相关问题