抱歉或令人困惑的標題!它實際上比聽起來簡單得多。Django模板上下文功能沒有自動運行
我有一個功能:
def get_messages(request):
# do something expensive with the request
return 'string'
我希望能夠調用從模板功能,所以我有一個上下文處理器綁在:
def context_processor(request):
return {'messages':get_messages(request)}
所以現在當我的模板中有{{messages}}
時,打印出string
。大。
問題是get_messages
是相當昂貴,並不總是需要。少於一半的模板需要它。有沒有辦法將函數傳遞給模板,如果它運行或不運行,就將它留給模板?
我想這已經:
def context_processor(request):
return {'messages':get_messages}
但這只是輸出模板的功能說明<function get_messages at 0x23e97d0>
,而不是運行它。
該解決方案同時具有憂鬱的香菸只是發生在我之外。並不是說我有任何信用,而只是說,我完全同意;這看起來像是最好的解決方案! – Oli 2010-02-22 12:37:11