我需要检查会话是否已设置...我遵循了 stackoverflow 的一些解决方案,但仍然存在问题
if request.session.get('orderId',None):
request.session['orderId']=ts
orderId=request.session['orderId']
else:
orderId=request.session['orderId']
它在下面的 orderId 处说 keyError:
你的条件是倒置的。尝试反转:
if not request.session.get('orderId', None):
request.session['orderId'] = ts
orderId = request.session['orderId']
else:
orderId = request.session['orderId']
.get('orderId', None)
将返回None
,
if not request.session.get('orderId', None)
并将指导您填充会话,这(可能)是您想要的。
更好的方法是
orderId = request.session.setdefault('orderId', ts)
如果存在,这将从会话中为您orderId
提供,否则它将填充会话ts
并返回给您。
get 方法的整个想法是保持代码干净。这应该有效:
orderId = request.session.get('orderId',ts)
编辑:
对不起,我错过了这个:
orderId = request.session.get('orderId',ts)
request.session['orderId']=ts
不需要 if 和 else ...