0

と呼ばれるモデルAccountがあり、モデル関数があります(以下のコードを参照)。すべてのページのユーザー合計をテンプレートに表示したいと思います。アカウントをすべてのビューに配置することで、これを行うことができる唯一の方法です。他にどのようなオプションがありますか? request.user に気に入ってもらえますか? 私はすでにすべてのビューでリクエストにアクセスでき、アカウントには FK ユーザーがいます。

 def _balance(self):
        aggregates = self.transactions.aggregate(sum=Sum('amount'))
        sum = aggregates['sum']
        return D('0') if sum is None else sum 
4

1 に答える 1

4

コンテキスト プロセッサが必要です。テンプレートをレンダリングするたびに、それに「コンテキスト」を与えます。これは、キーが変数名で、値が変数の値である辞書のようなオブジェクトです。

例えば..

ファイル my app/context_processors を作成します

def get_balance(request):
    do something
    return {'balance': 0}

それを設定に追加します。

TEMPLATE_CONTEXT_PROCESSORS = ('myapp.context_processors.get_balance',)

終わり。

于 2013-03-23T20:48:31.377 に答える