如果我在request.session中存储了以下内容。假设我有多个项目(这里只显示一个),我希望能够遍历这些项目并将它们作为模板的一部分进行渲染。
如何在for循环中访问数量键和值?
这是我正在尝试的,但是没有输出。
{% 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',
答案 0 :(得分:0)
您需要将django.core.context_processors.request
添加到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 %}