2016-12-19 9 views
0

理論的には、私はセッション変数にいくつかのデータを保存するためにしなければならないことをしましたが、私のコントローラはそれらに到達できません。ここでは、コードです:Turbogears2セッション管理

@expose('') 
    @require(predicates.not_anonymous()) 
    def savecustomer(self, customer=None, **kw): 
    if customer is None: 
     flash(_('Select a customer!'), 'error') 
     redirect('/') 
    customer = DBSession.query(Customer).filter_by(customer_id=customer).first() 
    session.delete() 
    session['customer'] = True 
    session['customer_id'] = customer.customer_id 
    session['customer_name'] = customer.customer_name 
    ... 
    session.save() 

、ここで私の見解コードです:ここ

{% if request.identity %} 
     {% if session['customer'] %} 
     <div class="customer"><i>{{ session['customer_name'] }} 
       {% if session['customer_type'] %} {{ session['customer_type'] }} {% endif %} 
       </i></div> 
     {% else %} 
     <div class="nocustomer">No customer selected</div> 
     {% endif %} 
    {% endif %} 

やだ私の「デバッグ」:

for i in session.iterkeys(): 
    print i 
for i in session.itervalues(): 
    print i 
customer 
customer_id 
customer_name 
True 
3 
Ciccio Pasticcio S.p.a. 

と私は別のコントローラで同じコードを実行した場合、それ私にこれを与える:

_id 
832f62d3bc5140c4a9f3ba36bc3e876a 

W帽子は間違っている? (私は:)何かを「固定」するまで、これが機能するために使用)

答えて

0

私は

session.delete() 
を除去することで、エラーを解決