我想在我的模板中这样做:
{% for field in form %}
{{ realNameDict.field.name }}
{% endfor %}
realNameDict 是一个字典。上面的代码不起作用。为什么 ?
编辑: 在python中,我想我可以这样做:
print realNameDict[field[name]]
非常感谢。
解决方案:
感谢@Calvin Cheng 的解释:诀窍是使用自定义模板标签。
1/ 在您的应用程序目录中,创建一个名为templatetags
. 创建两个文件:(__init__.py
留空)和extra.py
(用于创建自定义模板标签)。
2/ 在 extra.py 中,创建获取字典字典值的函数:
from django import template
register = template.Library()
@register.filter
def ofKey(value, arg):
if value:
return value.get(arg)
else:
return ""
3/在您的模板中,在内容块内,添加以下行以加载自定义模板标签:
{% load extra %}
4/ 在您的模板中调用自定义模板标签:
{{ realNameDict|ofKey:field.name }}