0

ピラミッドに自分のセッションファクトリを実装しようとしています。私が見たすべてのセッションファクトリの例(ビーカー、redisなど)は、次のサブクラスとして実装しますdict

request.session['key'] = 'value'

非常に単純なセッションインターフェイスを実装したいと思います。

request.session.set('key', 'value')
request.session.get
request.session.delete

これでいい?これは、Pyramidの内部メソッドが正しく機能しないことに影響しますか?ピラミッドサブシステムは、dictのようなセッションに依存していますか?

編集:

デフォルトSessionAuthenticationPolicyはセッションの指示に依存します

def remember(self, ...):
    ...
    request.session[self.userid_key] = principal
4

1 に答える 1

2

これまでに見たものは、PyramidのISessionインターフェースに準拠しています。任意のパッケージがセッション(などSessionAuthenticationPolicy)にアクセスできるようにする場合は、これらのパッケージが期待するインターフェイスに準拠するセッション実装を提供する必要があります。

これが、Pyramidが効果的に機能することを期待していることです。そうは言っても、実際に有効なセッションを必要とするパッケージはごくわずかなので、通常は、やりたいことは何でもできます(できないまで:)。アプリケーションが使用する他のメソッドを、元のインターフェースに加えて提供したい場合は、それでまったく問題ありません。

http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/api/interfaces.html?highlight=isession#pyramid.interfaces.ISession

于 2013-03-14T16:37:30.070 に答える