Python Django模板标记:获取关键字、字典值
我想访问下面字典的键和值,并将它们输出到Django模板文件中。但是,我无法获得该值。这引起了一个错误。如何访问每个字典Python Django模板标记:获取关键字、字典值,python,django,django-templates,django-tagging,Python,Django,Django Templates,Django Tagging,我想访问下面字典的键和值,并将它们输出到Django模板文件中。但是,我无法获得该值。这引起了一个错误。如何访问每个字典键,以及它的值(选项名称,答案,img\u选项) 字典 {u'options': [{235: <OptionForm bound=False, valid=Unknown, fields=(option_name;answer;img_option)>}, {236: <OptionForm bound=False, valid
键
,以及它的值(选项名称
,答案
,img\u选项
)
字典
{u'options': [{235: <OptionForm bound=False, valid=Unknown, fields=(option_name;answer;img_option)>},
{236: <OptionForm bound=False, valid=Unknown, fields=(option_name;answer;img_option)>},
{237: <OptionForm bound=False, valid=Unknown, fields=(option_name;answer;img_option)>},
{238: <OptionForm bound=False, valid=Unknown, fields=(option_name;answer;img_option)>}]
}
{u'options':[{235:},
{236: },
{237: },
{238: }]
}
Django模板
{% for key, option in options.items %}
<tr class="option_row rowRecord" id="{{key}}">
<td>{{option[key].option_name}}</td>
<td>{{option[key].img_option}}</td>
<td>{{option[key].answer}}</td>
<td><i class="material-icons option-delete">delete</i></td>
</tr>
{% endfor %}
{%用于键,options.items%中的选项]
{{option[key].option_name}
{{option[key].img_option}
{{选项[key]。答案}
删除
{%endfor%}
出现错误
模板语法错误:无法分析余数:'[0]。选项[0]中的选项[u name]。选项[u name'
脏解决方案(因为原始dict具有嵌套列表和dict):
更好的解决方案: 你应该考虑使字典变平,这样循环变得更容易。您不需要嵌套列表和dict。例如:
options = {
235: <Option ...>,
236: <Option ...>,
237: <Option ...>,
238: <Option ...>,
}
选项={
235: ,
236: ,
237: ,
238: ,
}
现在,您可以在单个循环中对其进行循环。正如错误所述,这在Django模板中是无效的语法。但你为什么要这么做?您已经有了值,无需尝试通过键获取。@DanielRoseman每个
都有键作为其id。因此,我需要将字典的键输出到其中。如果我的方法不对,你能推荐一个更好的吗?要求是我需要将key
输出到id
属性中,并获取option\u name
,answer
,img\u option
如果您尝试使用{option.option\u name}
@ruddra它是空的,不显示任何内容。@Sokunthaneth列表中有更多的命令。你必须创建另一个循环来获取这些密钥。它是有效的。非常感谢。顺便说一句,我也按照你的建议把它编成了字典。
options = {
235: <Option ...>,
236: <Option ...>,
237: <Option ...>,
238: <Option ...>,
}