我正在设置
request.session['total_items'] = 3
在django应用程序的views.py文件中
在模板中
我知道您可以{{request.session.total_items}}
一切都很好,我能够获得价值。
但是,我的问题是为什么它不是{{request.session['total_items']}}
,因为request.session是一个像对象这样的字典。
对于{{request.session['total_items']}}
,它给出如下错误:
Could not parse the remainder: '['total_items']' from 'request.session['total_items']'
任何帮助将不胜感激......
答案 0 :(得分:2)
不要将Django模板语言与Python语法混淆。 Django模板语言本身就是一种语言,并且有自己的表现方式。正如doc所暗示的那样:
目标不是发明一种编程语言。目标是提供 足够的编程式功能,例如分支和 循环,这对于做出与演示相关的决定至关重要。
答案 1 :(得分:1)
启用django.core.context_processors.request后,它将允许使用.
表示法访问类字典对象的值。
这会将任何Python对象转换为Django模板语言将理解的东西,因为它是它自己的语言。
这也适用于以下情况:
在幕后工作的是Context
object.
您可以详细了解其工作原理here和here
您可以将Python控件结构if
与Django的模板语言进行比较。
if object:
myobject.dostuff()
到
{% if object %}
{{ myobject.dostuff }}
{% endif %}
如果您想要与Python进行 close 匹配,请查看