Django 访问request.session中的序列化值
希望这是一个相当简单的问题 如果我在request.session中存储了以下内容。假设我有多个项目,这里只显示一个项目,我希望能够循环这些项目,并将它们作为模板的一部分呈现 如何访问要在for循环中使用的quantity键和值 这是我正在尝试的,但是没有输出Django 访问request.session中的序列化值,django,django-templates,Django,Django Templates,希望这是一个相当简单的问题 如果我在request.session中存储了以下内容。假设我有多个项目,这里只显示一个项目,我希望能够循环这些项目,并将它们作为模板的一部分呈现 如何访问要在for循环中使用的quantity键和值 这是我正在尝试的,但是没有输出 {% for item in request.session.bookingContents.items %} {{ item.quantity }} {% endfor %} 变量: 'bookingContents'
{% 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',
您需要添加到您的
将此添加到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 %}
谢谢,但是已经有了。活动模板上下文处理程序是:“django.core.context\u processors.request”、“django.contrib.auth.context\u processors.auth”、“allauth.account.context\u processors.account”、“allauth.socialaccount.context\u processors.socialaccount”、“django.contrib.messages.context\u processors.messages”下面的allauth特定模板标记,谢谢-您更新的方法有效:{%for key,value in request.session.bookingContents.items.items%}{{value.quantity}{%endfor%}如何在视图中呈现模板?bookingContents.items是列表还是词典?它是词典,因为每个值都有一个与之关联的标签。将为此检查视图输出。它位于一个名为wagtail的CMS之上,因此需要检查render调用是否正在使用。这是一个字典,因为每个值都有一个与之关联的标签。视图使用的是returnrenderrequest,“path/to/template”,contextbformet的更新方法对我有效