我在模板中访问特定密钥时遇到了一些问题。这是我的代码:
{% for rsim,couples in zipped_formated_rxnsim_pairedsim %}
-{{rsim.xxx_fk.xxx_code_char}} #ex : toto
{% for rsim2,couples2 in mydict.{{rsim.xxx_fk.xxx_code_char}}%}
<li> {{rsim2}} - {{couples2}}</li>
{% endfor %}
{% endfor %}
它给了我这个错误,
无法解析剩余部分:'{{rsim.xxx_fk.xxx_code_char}}'来自'mydict。{{rsim.xxx_fk.xxx_code_char}}'
我不明白这种行为,因为如果我将行{% for rsim2,couples2 in mydict.{{rsim.pdb_fk.pdb_code_char}}%}
硬编码到{% for rsim2,couples2 in mydict.toto %}
就行了......我的意思是,我怎么能对这个想法做些什么呢?
我真的需要这个循环结构,因为我想通过“ rsim2,couples2 ”元组仅针对特定的“ rsim,couple ”元组。换句话说,“ rsim2,couples2 ”是与“ rsim,couples ”链接的额外数据。比使用密钥的字典更好的解决方案是什么?
我尝试使用{{with}}标记,添加一个直接用作键的变量,但它不起作用。任何帮助将不胜感激。
谢谢!
答案 0 :(得分:0)
一般答案
添加一个帮助方法,以在Python中完成您想要的而不是模板语言。如果在一个模板中,thingy.something
引用Django模型实例,通常建议使用此方法。在这里,它似乎没有。
编写您自己的模板标签或过滤器,或搜索其他人已经写过的合适标签或过滤器。编写这样的模板标签实际上非常简单 - 只需按照Django文档中的示例进行操作即可。 [edit]请参阅问题评论中发布的链接。
对Django内置的语言使用不同的模板语言。 Django现在支持Jinja2。我不知道这是否可以做你想要的,并且没有使用它的经验。如果以上是Django自己的模板语言唯一的问题,它可能会使用大锤来破解坚果。