Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模板标记:获取关键字、字典值_Python_Django_Django Templates_Django Tagging - Fatal编程技术网

Python 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

我想访问下面字典的键和值,并将它们输出到Django模板文件中。但是,我无法获得该值。这引起了一个错误。如何访问每个字典
,以及它的值(
选项名称
答案
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 ...>,
}