すみません、または紛らわしいタイトルです!実際には、思ったよりずっと簡単です。
私は機能を持っています:
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>
はテンプレートを実行する代わりに、テンプレートに関数の説明を出力するだけです。