2012-02-08 13 views
1

Python 3をcherrypy 3.2で実行していて、問題を抱えています。まず、クッキーを動作させるために、私は/ etc/hostsにfqdnを偽装しなければなりませんでした。Cherrypy 3.2セッションが壊れていますか、それとも間違っていますか?

e.g. 
http://test:8080 [no cookies] 
http://test.local:8080 [cookies work] 

はこの後、私はセッションが仕事を得ることを試みたが、私は新しいセッションIDを毎回取得していますし、何のSESSION_ID値はどこにでもブラウザでクッキーに設定されていません。

class HelloWorld: 
    @cherrypy.expose 
    def index(self, *args): 

    print("\n\n") 
    ### test cookies (works fine, no problems) 
    print(cherrypy.request.cookie) 
    cherrypy.response.cookie['c1'] = 'val1' 
    cherrypy.response.cookie['c1']['max-age'] = '3600' 

    cherrypy.response.cookie['d1'] = 'val2' 
    cherrypy.response.cookie['d1']['max-age'] = '3600' 

    ### test sessions (doesn't work) 

    print(cherrypy.session.load()) # always returns None 

    print(cherrypy.session.id) # different every refresh 

    print(cherrypy.session.get('foo')) # always returns None 
    cherrypy.session['foo'] = 'bar' 

    cherrypy.session.save() # apparently has no effect 

    return "Hello world!" 

誰でも助言や提案をいただけますか?私は他の値があっても、セッションIDのあるクッキーがクロムに​​設定されていないことを確認します。

'/': {'tools.sessions.on': True, 
     'tools.sessions.timeout': 7200}} 

任意のアイデア:

私の設定は次のようになりますか?

+1

「回答」ボタンはクリックできないようです。私は試行錯誤でこれを理解しました。うまくいけば、これは他の誰かを助けます。解決策は、tools.sessions.nameに任意の値を指定することでした。 {'tools.sessions.name': 'hhh'}を設定します。なぜこれがドキュメントにないのか分かりません –

答えて

2

私は同じ問題に直面していました。私はtools.sessions.nameをcherrypy設定に追加しました。今は動作します

関連する問題