Django模板访问嵌套数据

che*_*vik 3 django django-templates

这看起来很傻,但我不明白Django Templates如何访问上下文中的嵌套数据.我可以使用.访问嵌套在上下文数据结构中的字典值.符号 - {{ aDictionary.i_am_a_key }}工作正常.但是,如果我尝试迭代一个键列表并从同一个字典中获取它们的值,我什么也得不到.所以

{% for key in keys_list %}{{ aDictionary.key }}{% endfor}}

只是生成空白.

我在这里错过了什么?Django不支持动态上下文字典的密钥访问吗?我是否需要编写自定义标记才能执行此操作?

编辑

我的例子假设这些数据结构:

aDictionary = {'i_am_a_key': 'all good', 'i_am_another_key': 'okay'}
keys_list = ['i_am_a_key', 'i_am_another_key']
Run Code Online (Sandbox Code Playgroud)

Pet*_*ell 5

这是Django模板语言的基本限制.

三种解决方案

  1. 使用{% for key,value in foo.items %}得到键和值.
  2. 使用Jinja2 - 一个几乎类似Django的模板系统.
  3. 用户使用expr djangosnippet进行访问数学运算.