0

私は次のような表示機能を持っています:

def search_manager(request, account_id):
    account = Account.objects.get(pk=account_id)
    ...

すべてのビューに設定されるいくつかの値を設定できるミドルウェアまたはコンテキストプロセッサのいずれかを作成したいと思います。account_idすべてのビューに必要な値を取得できるように、ミドルウェアまたはコンテキストプロセッサを使用する方法はありますか?

4

1 に答える 1

0

セッション変数を使用して、ユーザーセッションに値を設定できます。これにより、すべてのリクエストにaccount_idが含まれるため、ミドルウェアやその他のビューからその値にアクセスできます。ビューまたはミドルウェア。たとえば、ユーザーがログインしていない場合、リクエストにセッションがない可能性があることに注意してください。

# set a value
if hasattr(request, 'session'):
    request.session['account_id'] = account_id

# read a value
if hasattr(request, 'session'):
    account_id = request.session['account_id']

Djangoのセッションオブジェクトは辞書のように機能します。

于 2013-03-26T04:13:53.793 に答える