在视图中从 request.session 访问字典值
accessing dict values from request.session in views
我正在尝试获取视图中的会话变量,但运气不佳。
我收到的错误是:
列表索引必须是整数,而不是str
我正在设置以下会话 variable/dict:
u'bookingContents' :
{
u'bookingID': 40,
u'bookingOptionContents': {
u'activityID': 1,
u'activityName': u'Echo Park legging races',
u'activityShortDescription': u'YOLO umami occupy, Echo Park leggings meh Kickstarter cardigan. ',
u'activityThumbnail': u'/media/activity/1/thumb_test.jpg',
u'optionCost': 20,
u'optionDayOfWeek': u'Tuesday',
u'optionEndTime': u'12:00',
u'optionStartDate': u'19/01/2015',
u'optionStartTime': u'06:00',
u'quantity': 9},
u'bookingOptionID': 1}
我正在尝试通过标签(最好)访问 bookingID 和 bookingOptionsContents.quantity 值。
我的views代码如下(第一个bookingID值):
if int(request.session.get('bookingContents.bookingID', False)) == somevalue:
我也试过:
if int(request.session.get('[bookingContents']['bookingID'], False)) == somevalue:
但我似乎无法理解这些值。
事物在模板中工作,我可以通过以下方式成功检索值:
{{request.session.bookingContents.bookingOptionContents.quantity}}
{{request.session.bookingContents.bookingID}}
如何获取视图中 bookingID 和数量的值?
您不能在视图中使用点符号。我会在这里遵循 EAFP
风格:
try:
value = int(request.session['bookingContents']['bookingID'])
except (KeyError, ValueError) as e:
value = None
我正在尝试获取视图中的会话变量,但运气不佳。 我收到的错误是:
列表索引必须是整数,而不是str
我正在设置以下会话 variable/dict:
u'bookingContents' :
{
u'bookingID': 40,
u'bookingOptionContents': {
u'activityID': 1,
u'activityName': u'Echo Park legging races',
u'activityShortDescription': u'YOLO umami occupy, Echo Park leggings meh Kickstarter cardigan. ',
u'activityThumbnail': u'/media/activity/1/thumb_test.jpg',
u'optionCost': 20,
u'optionDayOfWeek': u'Tuesday',
u'optionEndTime': u'12:00',
u'optionStartDate': u'19/01/2015',
u'optionStartTime': u'06:00',
u'quantity': 9},
u'bookingOptionID': 1}
我正在尝试通过标签(最好)访问 bookingID 和 bookingOptionsContents.quantity 值。
我的views代码如下(第一个bookingID值):
if int(request.session.get('bookingContents.bookingID', False)) == somevalue:
我也试过:
if int(request.session.get('[bookingContents']['bookingID'], False)) == somevalue:
但我似乎无法理解这些值。
事物在模板中工作,我可以通过以下方式成功检索值:
{{request.session.bookingContents.bookingOptionContents.quantity}}
{{request.session.bookingContents.bookingID}}
如何获取视图中 bookingID 和数量的值?
您不能在视图中使用点符号。我会在这里遵循 EAFP
风格:
try:
value = int(request.session['bookingContents']['bookingID'])
except (KeyError, ValueError) as e:
value = None