访问 request.session 中的序列化值

accessing serialised values in request.session

希望这是一个相当简单的问题。

如果我在 request.session 中存储了以下内容。假设我有多个项目(这里只显示一个),我希望能够遍历这些项目并将它们呈现为模板的一部分。

如何访问用于循环的数量键和值?

这是我正在尝试的,但是没有输出。

{% for item in request.session.bookingContents.items %}
    {{ item.quantity }}
{% endfor %}

变量:

'bookingContents'   

值:

{u'cartID': 51, 
u'items': 
    {u'1': 
        {
        u'quantity': 25}, 
        }
    }
}

更多信息(随着这个问题的发展而更新):

活动的模板上下文处理器是:

'django.core.context_processors.request',
'django.contrib.auth.context_processors.auth',
#allauth specific template processors below
'allauth.account.context_processors.account',
'allauth.socialaccount.context_processors.socialaccount',
'django.contrib.messages.context_processors.messages',

您需要添加 django.core.context_processors.request to your template context processors.

将此添加到您的 settings.py

from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP

TEMPLATE_CONTEXT_PROCESSORS = TCP + (
    'django.core.context_processors.request',
)

然后您可以像这样从您的模板访问会话,您的代码应该可以工作:

{{ request.session.foo}}

更新:

好的,你的设置和视图没问题,那你可以试试:

{% for key, value in request.session.bookingContents.items.items %}
    {{ value.quantity }}
{% endfor %}