2011-11-15 14 views
0

はコードを見てください:CherryPyには(ルート下の関数間のローカル変数を渡す)

class Root: 
    def __init__(self): 
     self._Name = None 

    def index(self): 
     self._Name = getNameFromUser() 
     return mytemplate.render() 
    index.exposed = True 

    def foo(self): 
     myName = self._Name 
     //dosomething 
     return mytemplate.render(showmyName(myName)) 
    foo.exposed = True 

if __name__ == '__main__': 
    cherrypy.quickstart(Root()) 
ここ

は問題です: ユーザー1、ユーザー2、ユーザー3には入って来、 そのサイトを表示したいときfoo()の名前サイトに入った最新のユーザーを返します 各ユーザーに自分の名前を見せたいと思います。あなたがサーバーオブジェクトに何かを設定すると

In Fact I want to have local variable per user HOW to do that ? 

答えて

1

、あなたはアプリケーションないユーザーのためにそれを設定しています。ユーザーに情報を一時的に保存する場合は、sessionsインターフェイスを使用するか、またはcookieに(保護する必要がある情報/改ざん防止が必要な情報でない場合)インターフェイスを使用します。

+0

すべての通常の注意事項は、ユーザーデータを信頼せず、設定したとしても常にそれを改ざんすることができます。 –

+1

まあ、私がしたいのは、サーバーを呼び出す各ユーザーのためのいくつかの並べ替えのクラスインスタンスを次に私はクラスでローカル変数を作ることができます。とにかくそれをするには? – Emax

+0

@ user1034723 - CherryPyクラスがユーザーへの参照を保持する必要があるのは何ですか?言い換えれば、ユーザーの情報を取得してセッションに格納してから、要求ごとにセッションからユーザーの情報を復元できないのはなぜですか? –

関連する問題