1

私はこのピラミッドビューを持っています:

def ClientView(request):
    session = request.session
    session['selectedclientid'] = 'test' #selectedclient.id
    session.save()
    return dict(
        logged_in=authenticated_userid(request)
    )

そして、私のテンプレートでは、次のようなことを試しています:

% if session['selectedclientid'] != None:
                The session has something
            % endif

そして、これは私にテンプレートエラーを与えます:

    % if session['selectedclientid'] != None:
TypeError: 'Undefined' object has no attribute '__getitem__'

セッション変数の設定が間違っていますか? 私はそれを間違って照会していますか?そもそもrequest.sessionオブジェクトとそのコピーを作成する必要がありますか? 私はそれをそのように設定すること.save()はできませんでしたか?request.session['myvariable'] = 'foo'それはまだテンプレートに戻すのに役立ちません。

4

2 に答える 2

2

request.sessionテンプレート内の変数です。違いsessionます。これが、Undefined例外が発生する理由です。

于 2012-11-06T16:29:21.430 に答える
0

私はそれを手に入れたと思います。私はまだそれを次のように設定できます:

request.session['selectedclientid'] = 'test'

しかし、それを読み返すと、次のように機能しました。

% if 'selectedclientid' in request.session:
                The session has something ${request.session['selectedclientid']}
            % endif
于 2012-11-06T02:49:28.337 に答える