我需要的是在一个或多个视图中自动调用函数(回调函数),获取其结果并将其传递给模板。
这是一个简化的例子:
utils.py:
def getSContent():
return 'some dynamic data'
views.py:
def myFirstView(request):
...py code...
sData = getSContent() <== this line
return render_to_response('template.html',
{'sData': sData, <== this line
...
},
contenxt_instance = RequestContext(request))
def mySecondView(request):
...py code...
sData = getSContent() <== this line
return render_to_response('template.html',
{'sData': sData, <== this line
...
},
contenxt_instance = RequestContext(request))
..等等。
sData = getSContent()
和{'sData': sData}
在所有这些视图函数中重复。
请记住,我需要捕获函数的返回值并将其进一步传递给模板。
答案 0 :(得分:5)
您可以对此
使用TEMPLATE_CONTEXT_PROCESSORS设置这是一个callables(函数)列表。每个函数都会收到request
作为参数,在您的情况下应该返回dict
- return {'sData': getSContent()}