Python会话变量 def从购物车(自助)获取物品: “”“从会话购物车获取项目”“” 项目列表=[] 购物车计数=self.session.get('add\u to\u cart\u count') 如果不是购物车计数:返回无; 对于范围内的i(1,购物车计数+1): item=self.session.get(str(i)) 如果项目: 项目列表。追加(项目) 返回项目列表 类AddToCarthHandler(处理程序): def get(自我): if users.get_current_user(): self.response.headers['Content-type']='application/json' get\u current\u add\u count=int(self.session.get('add\u to\u cart\u count')) tshirt_id=self.request.get(“tshirt_id”) item\u title=self.request.get(“item\u title”) 数量=自请求获取(“数量”) size=self.request.get(“size”) 价格=325 获取\u当前\u添加\u计数+=1 self.session[get\u current\u add\u count]={“qty”:qty,“size”:size, “项目名称”:项目名称, “T恤id”:T恤id, “成本”:价格*整数(数量)} 当前购物车项目=int(self.session.get(“项目计数”)) 更新的购物车项目=当前购物车项目+整数(数量) self.session[“item\u count”]=更新的购物车项目 self.session[“添加到购物车计数”]=获取当前添加计数 write(json.dumps({“status”:1,“msg”:“Order added.”})) 其他: write(json.dumps({“status”:0,“msg”:“请开始购物!”)

Python会话变量 def从购物车(自助)获取物品: “”“从会话购物车获取项目”“” 项目列表=[] 购物车计数=self.session.get('add\u to\u cart\u count') 如果不是购物车计数:返回无; 对于范围内的i(1,购物车计数+1): item=self.session.get(str(i)) 如果项目: 项目列表。追加(项目) 返回项目列表 类AddToCarthHandler(处理程序): def get(自我): if users.get_current_user(): self.response.headers['Content-type']='application/json' get\u current\u add\u count=int(self.session.get('add\u to\u cart\u count')) tshirt_id=self.request.get(“tshirt_id”) item\u title=self.request.get(“item\u title”) 数量=自请求获取(“数量”) size=self.request.get(“size”) 价格=325 获取\u当前\u添加\u计数+=1 self.session[get\u current\u add\u count]={“qty”:qty,“size”:size, “项目名称”:项目名称, “T恤id”:T恤id, “成本”:价格*整数(数量)} 当前购物车项目=int(self.session.get(“项目计数”)) 更新的购物车项目=当前购物车项目+整数(数量) self.session[“item\u count”]=更新的购物车项目 self.session[“添加到购物车计数”]=获取当前添加计数 write(json.dumps({“status”:1,“msg”:“Order added.”})) 其他: write(json.dumps({“status”:0,“msg”:“请开始购物!”),python,session-variables,google-app-engine-python,Python,Session Variables,Google App Engine Python,在方法“get_items_from_cart”中,代码描述了获取以数字命名的值并附加列表。这些是json编码的(我还不知道json)。 我想问python是否允许将会话中的变量命名为number? 如果我在错误的上下文中获取代码,请指导我。以下是我问题的答案。。。 这段代码运行良好 def get_items_from_cart(self): """ Fetches items from sessions cart""" item_list = [] cart_coun

在方法“get_items_from_cart”中,代码描述了获取以数字命名的值并附加列表。这些是json编码的(我还不知道json)。 我想问python是否允许将会话中的变量命名为number?
如果我在错误的上下文中获取代码,请指导我。

以下是我问题的答案。。。 这段代码运行良好

def get_items_from_cart(self):
    """ Fetches items from sessions cart"""
    item_list = []
    cart_count = self.session.get('add_to_cart_count')
    if not cart_count: return None;
    for i in range(1, cart_count+1):
        item = self.session.get(str(i))
        if item:
            item_list.append(item)
    return item_list

class AddToCartHandler(Handler):
def get(self):
    if users.get_current_user():
        self.response.headers['Content-type'] = 'application/json'
        get_current_add_count = int(self.session.get('add_to_cart_count'))
        tshirt_id = self.request.get("tshirt_id")
        item_title = self.request.get("item_title")
        qty = self.request.get("qty")
        size = self.request.get("size")
        price = 325
        get_current_add_count += 1
        self.session[get_current_add_count] = { "qty" : qty, "size" : size ,
                                                "item_title": item_title, 
                                                "tshirt_id" : tshirt_id,
                                                "cost" : price * int(qty)}

        current_cart_items = int(self.session.get("item_count"))
        updated_cart_items = current_cart_items + int(qty)
        self.session["item_count"] = updated_cart_items
        self.session["add_to_cart_count"] = get_current_add_count
        self.write(json.dumps({"status" : 1, "msg" : "Order added. <a href='/cart'><span class='label label-success'>View Cart</span></a>"}))
    else:
        self.write(json.dumps({"status" : 0, "msg" : "Please <a href='/login'><span class='label label-important'>login</span> </a>to start shopping!"}))
导入webapp2
从webapp2_附加导入会话
从google.appengine.api导入用户
类句柄(webapp2.RequestHandler):
def调度(自动):
self.session\u store=sessions.get\u store(request=self.request)
尝试:
webapp2.RequestHandler.dispatch(self)
最后:
self.session\u store.save\u会话(self.response)
@webapp2.cached\u属性
def会话(自我):
返回self.session\u store.get\u session()
类别测试(句柄):
def get(自我):
user=users.get\u current\u user()
val=self.session.get(“1”)
val+=1
self.session[“1”]=val
self.response.write('值为:%i'%val)
self.response.write(“”)
类MainHandler(句柄):
def get(自我):
self.response.write('helloworld!')
user=users.get\u current\u user()
self.session[“1”]=10
self.response.write(“”)
###配置###
配置={}
配置['webapp2_附加会话']={
“秘钥”:“我的超级秘钥”,
}
app=webapp2.WSGIApplication([
(“/”,MainHandler),
('/valTst',ValTest)
],debug=True,config=config)

是什么阻止了您尝试它?想问一下是否可以声明带编号的变量?尝试一下,尝试一下!python允许将会话中的变量命名为number的语句是什么?应该是什么意思?如果愿意,可以将变量命名为
one
,但不能将变量命名为数字,如
17
。否则,我支持克劳斯:试着实现你想要的,当你面对一个问题时,问一个问题。@flaschbier它是有效的,请看我答案中的代码。
import webapp2
from webapp2_extras import sessions
from google.appengine.api import users

class Handle(webapp2.RequestHandler):
    def dispatch(self):
        self.session_store = sessions.get_store(request=self.request)
        try:
            webapp2.RequestHandler.dispatch(self)
        finally:
            self.session_store.save_sessions(self.response)

    @webapp2.cached_property
    def session(self):
        return self.session_store.get_session()

class ValTest(Handle):
    def get(self):
        user = users.get_current_user()
        val = self.session.get("1")
        val += 1
        self.session["1"] = val
        self.response.write('value is: %i' % val)
        self.response.write('<form method="get" action="/valTst"><input type="submit" name="btn2" value="Incr"></form>')

class MainHandler(Handle):
    def get(self):
        self.response.write('Hello world!')
        user = users.get_current_user()
        self.session["1"] = 10
        self.response.write('<form method="get" action="/valTst"><input type="submit" name="btn" value="show"></form>')

### Configuration ###
config = {}
config['webapp2_extras.sessions'] = {
    'secret_key': 'my-super-secret-key',
}

app = webapp2.WSGIApplication([
    ('/', MainHandler),
    ('/valTst', ValTest)
], debug=True, config=config)